可能重复:
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