Ошибка PHP (MySQL): «Предупреждение: mysql_num_rows () ожидает, что параметр 1 будет ресурсом»

Возможный дубликат:
mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean задан в select

if (!empty($_POST)){ $email_to=$_POST['email_to']; $email_to=mysql_real_escape_string($_POST['email_to']); $sql = "UPDATE `cosmos`.`members` SET `conf` = '2' WHERE `members`.`email` = '$email_to';"; $result=mysql_query($sql) or trigger_error(mysql_error().$sql); $count=mysql_affected_rows($result); // line 20 if($count==1){ $rows=mysql_fetch_array($result); $unique=$rows['u_code']; $name=$rows['username']; // ---------------- SEND MAIL FORM ---------------- $to=$email_to; $subject="Your Account Password Request! - Cosmos"; $header="from: Tayal's/Cosmos <cosmos@gmail.com>"; $messages= "Hey $name ,\r\n"; $messages.="You recently requested a new password"; $messages.="<br /><a href='confirm.php?uid" . $unique . "'>Confirmation Link</a> \r\n"; $sentmail = mail($to,$subject,$messages,$header); echo $messages; } else { echo "Not found your email in our database"; } } 

Предупреждение: mysql_affected_rows () ожидает, что параметр 1 будет ресурсом, boolean задан в C: \ wamp \ www \ a \ l \ forget.php в строке 20

 $result=mysql_query($sql); 

в

 $result=mysql_query($sql) or trigger_error(mysql_error().$sql); 

и снова запустите его

а потом

 $email_to=$_POST['email_to']; 

в

 $email_to=mysql_real_escape_string($_POST['email_to']); 

о да, и есть также цитаты

$resultfalse потому что ваш запрос недействителен (имеет синтаксическую ошибку). Использование:

 $sql = "UPDATE members SET conf=2 WHERE email = '$email_to';" 

(обратите внимание на цитаты, связанные с $email_to )

Кроме того, mysql_num_rows() следует использовать только для запросов SELECT . Для UPDATE , INSERT и DELETE вместо этого используйте mysql_affected_rows() .

Наконец, для дальнейшего использования, если ваш запрос не работает, напечатайте ошибку и используемый SQL-запрос (что-то вроде ответа Col Shrapnel). Это поможет вам понять, что случилось.

SQL, который вы выполнили, не был SELECT, поэтому строки не возвращаются!