Задать вопрос
@crack_user

Как правильно сделать выборку из таблицы бд?

Почему-то не могу сделать выборку из бд
1. таблица присутствует (проверял убирая WHERE)
628fb6aa8bf8a824024390.png
2. Подключение к бд есть (проверял)
3. Переменная mail выводит нужное (проверял)
Скорее всего либо не так записал запрос либо трабл с переменной $mail
$mail = $_POST['mail'];
$mail = htmlspecialchars($mail);
$mail = urldecode($mail);
$mail = trim($mail);
$info_user = mysqli_fetch_assoc($link->query("SELECT * FROM `user` WHERE mail = $mail"));
if($info_user) {
    echo '1';
}
else {
    echo '2';
}
  • Вопрос задан
  • 107 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
@crack_user Автор вопроса
Проблема решена.
Нужно было добавить '".$mail." ' в WHERE
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@alekssamos
Программист любитель
Либо так:
$mail = $_POST['mail'];
$mail = trim($mail);
$mail = $link->real_escape_string($mail);
$info_user = mysqli_fetch_assoc($link->query("SELECT * FROM `user` WHERE mail = $mail"));
if($info_user) {
    echo '1';
}
else {
    echo '2';
}

Либо так:
$mail = $_POST['mail'];
$mail = trim($mail);
$stmt = $link->prepare("SELECT * FROM user WHERE mail = ?"); 
$stmt->bind_param("s", $mail); // here we can use only a variable
$stmt->execute();
$result = $stmt->get_result();
$info_user = $result->fetch_all(MYSQLI_ASSOC);
if($info_user) {
    echo '1';
}
else {
    echo '2';
}
Ответ написан
Комментировать
BasiC2k
@BasiC2k
.NET developer (open to job offers)
1. Проверьте что $mail приходит не пустой;
2. Проверьте, чтобы тип сравниваемых данных был одинаковый. Например, $mail = 1, а Вы ищете среди текстовых значений;
3. Может записей с таким mail действительно нет?
Ответ написан
В $link точно есть подключение к БД?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы