提供的参数不是有效的mySQL资源

时间:2013-10-21 20:42:26

标签: php mysql

我有以下代码(代码段):

$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);” 我不确定这可能是什么原因,并希望有人帮助。

3 个答案:

答案 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和准备好的陈述。

相关问题