MYSQL行数错误


MYSQL num rows error

你好,我正试图使用一段代码,我以前使用过快速测试出一个想法,但我不断得到以下错误。

警告:mysql_num_rows()期望参数1为

中给定的resource, boolean
$result = mysql_query("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address");
$num_rows = mysql_num_rows($result);
if( $num_rows > 0 ) {

这可能是因为SQL请求失败。尝试将or die(mysql_error())附加到mysql_query旁边,像这样:

$result = mysql_query("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address") or die(mysql_error());

这应该输出错误,以便您可以修复它。

编辑:我也可以给你一个提示,这个错误可能是什么。在请求结束时,您没有在$ip_address

之后关闭单引号
("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() AND ip_address='$ip_address'")

你在sql语句的末尾漏掉了一个',你应该大写写" and ",因为所有其他sql关键字都是大写的(不是必需的,但更容易阅读)。

也许缺失的'将修复您的查询。

在您的查询中有一个sintax错误,您在$ip_address之后缺少一个引号,只是更改为

$result = mysql_query("SELECT * FROM  masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address'");

你一直得到这个错误,因为你的查询是错误的:

mysql_query("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address"

缺少$ip_address

后的引号

您这里缺少一个单引号and ip_address='$ip_address'")

看看这个:为什么我不应该在PHP中使用mysql_*函数?

试试这个。你少了一个单引号…

 $result = mysql_query("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address' ");