Знаю что этот вопрос поднимался не раз, но ошибки были допущены в виде синтаксических неточностей и прочее. Собственно сама ошибка: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\1\save_user.php on line 142 Пытаюсь сделать проверку по еще 1 записи из базы данные т.е. пользователь регистрируется и должен ввести код приглашения если такого нету то должна вывестись ошибка. Кусок кода: PHP: include ("bd.php"); //---------------------мой код--------------------- $result52 = mysql_query("SELECT key FROM konfkey WHERE key='$key'",$db); $myrow52 = mysql_fetch_array($result52); if (empty($myrow52['id'])) { exit ("Введенный Вами ключ не существует, для того что-бы получить ключ, Вам нужно связаться с администрацией"); } //---------------------мой код--------------------- // проверка на существование пользователя с таким же логином $result = mysql_query("SELECT id FROM xusers WHERE login='$login'",$db); $myrow = mysql_fetch_array($result); if (!empty($myrow['id'])) { exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин."); } else // если такого нет, то сохраняем данные $result2 = mysql_query ("INSERT INTO xusers (login,password,avatar) VALUES('$login','$password','$avatar')"); // Проверяем, есть ли ошибки if ($result2=='TRUE') { echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>"; } else { echo "Ошибка! Вы не зарегистрированы."; } ?> Создал таблицу все вроде бы правильно имя в запросе абсолютно такое-же, что интересно вот тут все работает замечательно PHP: $result = mysql_query("SELECT id FROM xusers WHERE login='$login'",$db); $myrow = mysql_fetch_array($result); if (!empty($myrow['id'])) { exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин."); } Чего нельзя сказать о том где "мой код" вторые сутки пытаюсь разобраться нечего не получается, пожалуйста помогите.
Если вы видете сообщение об ошибке Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in - это означает, что вы не обработали возможные ошибки обработки SQL-запроса, такая ошибка возникла и функциия mysql_query() вернула false вместо дескриптора результирующей таблицы. Далее скрипт передаёт false функции mysql_fetch_array(), на что она естественно огрызается. Следует обработать возможные ошибки для всех функций mysql_query()
Примерно так: PHP: <?php $result52 = mysql_query("SELECT key FROM konfkey WHERE key='$key'",$db); $myrow52 = mysql_fetch_array($result52); if(!$result52) { echo "Возникла ошибка - ".mysql_error()."<br>"; echo $result52; exit(); } // Далее остальной код ?>