Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ошибка mysql_num_rows
 
 автор: White_Owl   (06.01.2008 в 21:35)   письмо автору
 
 


<?
//Соединяемся с БД
$db mysql_connect("localhost""name""pasword");
mysql_select_db("users",$db);

//проверяем есть ли пользователь с таким login'ом и passwordом
    
$res=mysql_query ("SELECT * FROM index WHERE login=' ".$_POST['login']." 'AND passw=' ".$_POST['passw']." ' "$db);
    
    if(
mysql_num_rows($res)!=1){    
    
    
//такого пользователя нет
    
            
echo "Введены не верные логин или пароль";
    }
    else{    
    
//пользователь найден
    
echo "получилось";
    }
    
mysql_close(); 
?>



Проблема в том, что при выполнении этого, на экран выводится:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in z:\home\zadanie\www\login.php on line 13

Линия 13 это if(mysql_num_rows($res)!=1)

В таблице есть одно поле в котором все ряды заполнены.

   
 
 автор: ddhvvn   (06.01.2008 в 22:39)   письмо автору
 
   для: White_Owl   (06.01.2008 в 21:35)
 

Это значит, что в запросе содержатся ошибки!

   
 
 автор: rachkov   (07.01.2008 в 01:44)   письмо автору
 
   для: White_Owl   (06.01.2008 в 21:35)
 

Попробуй заменить на if(mysql_num_rows($res)<1

   
 
 автор: Unkind   (07.01.2008 в 01:49)   письмо автору
 
   для: rachkov   (07.01.2008 в 01:44)
 

> Попробуй заменить на if(mysql_num_rows($res)<1
Чушь

> "SELECT * FROM index WHERE login=' ".$_POST['login']." 'AND passw=' ".$_POST['passw']." ' "
Во-первых зачем пробелы около литеральных констант тут: ' ".$_POST['login']." ' и тут: ' ".$_POST['passw']." ' ? Это не может вызвать такую ошибку (Warning), но это неверно. Всегда будет "Введены не верные логин или пароль". И нехорошо, что нет пробела перед "AND".

А вот ошибка судя по всему вызвана тем, что "index" - зарезервированное слово, т.е.
запрос должен быть "SELECT * FROM `index` ..."

   
 
 автор: White_Owl   (07.01.2008 в 05:15)   письмо автору
 
   для: Unkind   (07.01.2008 в 01:49)
 

Ага оно самое, зарезервированное. Спасибо огромное !

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования