Я сделал страницу, где пользователи могут зарегистрироваться. По какой-то причине, код, который должен проверять, если электронная почта еще не используется. Не работает.Почему мой SQL-запрос всегда возвращает тот же результат?
Вы можете предположить, что соединение с базой данных является хорошим. Как пользователь может зарегистрироваться, когда этот фрагмент отсутствует.
@ $db = new mysqli('localhost', 'USERAME', 'PASSWORD', 'DATABASE');
if ($db->query("SELECT * FROM members WHERE email = '$email'")) {
echo "<p id=\"signup_confirmed\">This e-mail is already in use, please try again with another e-mail.</p>";
exit;
}
редактировать:
Это мой первый раз на этом сайте. Так голый со мной.
Я использовал расширение mysqli, которое поставляется с самой php. Дело в том, что это использовалось для работы над предыдущими версиями. Но по какой-то причине это уже не так.
Код, который я использовал, чтобы проверить, отправил ли запрос более 0 строк, также не работал.
с запятой в 'WHERE электронной = '$ электронной почты',' <= является концом символа заявления для одной вещи; убери это. Кроме того, вам нужно показать нам больше кода. вы ничего не делаете и не получаете важной функции. Вам нужно запрограммировать запрос. Мы также не знаем, с каким MySQL API вы используете для связи. –
ваш 'if()' просто проверяет, был ли ваш запрос успешно выполнен, а не если он возвратил строку. Таким образом, даже возвращенные строки будут приводить к успешному запросу. – Sean
показать объявление этого метода: $ db-> query ( – M0rtiis