我有以下代码(代码段):
$query = "SELECT * FROM emails WHERE email = " . $email;
$result = mysql_query($query);
$count=mysql_num_rows($result);
我的数据库是一个简单的电子邮件(数据库) - >电子邮件(表格) - >电子邮件(字段)。 使用此代码时,我在页面上收到以下错误:
> Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /hermes/bosoraweb029/b2582/***********/contact/index.php on line 13
参考第13行是“$ count = mysql_num_rows($ result);” 我不确定这可能是什么原因,并希望有人帮助。
答案 0 :(得分:1)
您的查询可能在到达mysql_num_rows
之前失败。尝试将mysql_error
放在查询的末尾,这将告诉您:(可能是因为您没有在电子邮件变量周围加上引号)
$result = mysql_query($query) or die('Error: ' . mysql_error());
虽然我们处于此状态,mysql
函数已被弃用且已有一段时间,您应使用mysqli
函数或PDO
。
答案 1 :(得分:0)
在您的电子邮件地址周围加上引号,并且在使用mysql_query时总是逃脱(顺便说一下,您还应该使用mysqli_ *函数或PDO):
$query = "SELECT * FROM emails WHERE email = '" . mysql_real_escape_string($email) . "'";
答案 2 :(得分:0)
更改此行:
WHERE email = " . $email;
到此:
WHERE email = '".$email."'";
另外强烈建议/建议使用PDO和准备好的陈述。