Я использую этот код для передачи переменной userName ...
return fetch('http://creat1vedesign.com/userTabs4.php', {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
}, {
body: JSON.stringify({
userName: 'carolf'
}),
... к этому скрипту php ...
<?php
include 'DBConfig.php';
$con = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName);
$json = file_get_contents('php://input');
$obj = json_decode($json,true);
$userName = $obj['userName'];
$sql = "select * from Users where userName = '$userName'";
if ($result = mysqli_query($con,$sql)) {
while($row[] = $result->fetch_assoc()) {
$tem = $row;
$json = json_encode($tem);
}
} else {
echo "No Results Found.";
}
echo $json;
$conn->close();
?>
... для получения данных по определенным критериям. Но либо React Native не отправляет данные, либо скрипт php не получает их, либо синтаксис неверен, либо я делаю что-то еще не так :(
Есть предположения?
Не уверен, что это решит вашу проблему, но я бы рекомендовал использовать $con->query($sql) в вашем операторе if, потому что вы смешиваете процедурные mysqli и oop mysqli.
Не могли бы вы опубликовать полную загрузку, пожалуйста?
вы можете использовать var_dump ($ _ POST), чтобы узнать, что php получает от вашего приложения реакции.
нет сообщения об ошибке ... Я просто не получаю никакого результата от выбора ... изменение на $ con-> query ($ sql) не помогло
полная загрузка на моем pastebin: pastebin.com/0cxQasd9
Сначала проверьте свой сервер на наличие CORS-домена. Я попытался разместить сообщение на вашем URL-адресе, но он блокирует доступ к CORS; Во-вторых, попробуйте использовать функцию публикации Ajax или Jquery в своем браузере, чтобы проверить свой запрос.






Вы можете передать параметры сценарию PHP в URL-адресе выборки, добавив их после символа '?' нравится:
fetch("http://creat1vedesign.com/userTabs4.php?userName=carolf",{
method:'POST',
headers:{
'Accept': 'application/json',
'Content-Type': 'application/json',
},
})
.then( (response) => {
return response.json() })
.then( (json) => {
console.info(json)
});
Просто не забудьте включить $ _GET в свой php-скрипт:
<?php
$userName= $_GET["userName"];
include 'DBConfig.php';
$con = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName);
$json = file_get_contents('php://input');
$obj = json_decode($json,true);
$sql = "select * from Users where userName = '$userName'";
if ($result = mysqli_query($con,$sql)) {
while($row[] = $result->fetch_assoc()) {
$tem = $row;
$json = json_encode($tem);
}
} else {
echo "No Results Found.";
}
echo $json;
$conn->close();
?>
Вам не нужен цикл while, и ваш запрос открыт для атак с использованием SQL-инъекций. Получаете ли вы какие-либо сообщения об ошибках, помимо этого?