我的新网站中的所有内容都运行正常,但我无法使用这段代码:
$query = mysql_query("SELECT * FROM members WHERE useremail = '$useremail'");
$row = mysql_fetch_assoc($query);
$activation = $row['activation'];
if ($activation == '0') {
die('Your account is not yet active. Please check your email!');
exit();
}
在数据库中,类型为enum('0', '1')
,字段名称为activation
。
以下是我收到的错误消息:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result
有人可以给我一个提示吗?
谢谢。
答案 0 :(得分:0)
错误消息表明您的查询无效:
$query = mysql_query("SELECT * FROM members WHERE useremail = '$useremail'");
您是否正在为$usermail
进行任何输入清理?
您确定您的数据库包含该表,并且该表包含该列。
尝试做一些调试:
$query = "SELECT * FROM members WHERE useremail = '$useremail'";
echo $query;
并尝试直接在您的数据库中运行$query
的内容(来自phpMyAdmin或其他内容)。
答案 1 :(得分:0)
我新网站上的所有内容都运转良好
......直到出现问题。
您必须学习如何处理错误。
以这种方式至少 所有您的查询。
$query = "SELECT * FROM members WHERE useremail = '$useremail'"
$result = mysql_query() or trigger_error(mysql_error()." ".$query);
并且您始终会收到任何错误通知,原因
或实施任何其他方式的错误通知,使用 mysql_error()功能,这是世界上唯一可以告诉您实际问题所在的功能。 < / p>
答案 2 :(得分:-1)
将您的第一行更改为:
$query = mysql_query("SELECT * FROM members WHERE useremail = '$useremail'") or die(mysql_error());
它会吐出导致Warning =)
的mysql错误您不应该假设对mysql_query
的调用返回有效结果;最好先测试结果,例如
$r=mysql_query("SELECT * YADYADA");
if($r && mysql_num_rows($r)>0){
$row=mysql_fetch_assoc($r);
}else{
//Uh oh, something's not right~~~ throw an exception maybe?
}