可能重複:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in selectPHP(MySQL的)錯誤: 「警告:mysql_num_rows()預計參數1是資源」
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 <[email protected]>";
$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是資源,布爾在C:\ wamp \ www \ a \ l \ forget.php在線20給出
''conf' = \'2 \''是個問題。整個字符串用雙引號括起來,並且您正在轉義單引號 - 這不是必需的。我相信MySQL實際上會收到查詢中的\字符。這會導致SQL錯誤。除了2. 此外,即使您似乎在其中存儲int,「conf」確實是varchar字段而不是int: – JAL 2010-09-18 15:46:46
@亞歷JL - 更新,但仍然有相同的錯誤!並且'conf'是一個int not varchar – 2010-09-18 15:58:13
如果conf是一個int字段而不是一個varchar - 該值不應該在你的查詢中引用。 – JAL 2010-09-18 18:10:04