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

Как правильно исправить запрос?

Сама ошибка
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /home/c/cq62473/public_html/form/account.php on line 15

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /home/c/cq62473/public_html/form/account.php on line 17
Строки

$Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `login` FROM `users` WHERE `login` = '$_POST[login]'"));
if ($Row['login']) exit('Логин '.$_POST['login'].' уже используеться.');
$Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `email` FROM `users` WHERE `email` = '$_POST[email]'"));
if ($Row['email']) exit('E-Mail '.$_POST['email'].' уже используеться.');

Соответственно 15,16,17,18
  • Вопрос задан
  • 184 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@devian3000
php.net/manual/ru/book.mysqli.php

Во-первых байндить параметры =)
Во-вторых лучше написать обёртки над Mysqli
В-третьих каждая функция вызывается отдельно, так проще дебажить

А сам запрос написан верно, возможно проблема в специальных знаках в $_POST, их надо убирать.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
0) Использовать более современные методы работы с бд (PDO, prepared statments)
1) Убедиться что $_POST содержит нужные строки, для этого есть print_r() и vardump();
2) SQL строки сначала формируются в переменную, затем передаются на исполнение, т.о. их можно посмотреть до отправки в запрос, и понять где косяк, например вручную потом вставив запрос в какой-нибудь phpmyadmin.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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