запрос ничего не возвращает php - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь получить результат очень простого запроса с функцией query, но ничего не появляется. Если я выполню запрос в PHPMyAdmin с теми же данными, у меня будет результат.

Мой код:

$sql = "SELECT * FROM users WHERE email='$email'";

$response = $conn->query($conn, $sql);

Переменная $ conn верна, я выполнил вставку с что.

$ ответ нулевой. Я могу сделать эхо, и ничего нет.

Что я могу сделать, чтобы решить эту проблему? Что я могу проверить?

Большое спасибо.

Ответы [ 2 ]

4 голосов
/ 20 февраля 2020

Вам не нужно передавать соединение в запросе.

Решение:

$sql = "SELECT * FROM users WHERE email='$email'";
$response = $conn->query($sql);
while($res = $response->fetch_array()){
$name=$res['nameofuser']; //just an example
}
echo $name;

Реальное решение (prepare stmt):

$sql = "SELECT * FROM users WHERE email=?";
$response = $conn->prepare($sql);
$response->bind_param('s',$email);
if(!$response->execute()){
echo "Error query: " . $response->error . ".";
}
$result=$response->get_result();
while($res = $result->fetch_array()){
$name=$res['nameofuser']; //just an example
}
echo $name;

'Tips' добавить в реальное решение проверить, если запрос выполнен.

1 голос
/ 20 февраля 2020

После выполнения запроса. получить результаты

   $stmt = $conn->prepare( "SELECT * FROM users WHERE email= ? ");

$stmt->bind_param("s", $email);
$stmt->execute();
$result = $stmt->get_result();
if($result->num_rows === 0) exit('No rows');
while($row = $result->fetch_assoc()) {
// your code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...