您好我正在尝试使用我之前使用的一段代码来快速测试一个想法,但是我继续收到以下错误。
警告:mysql_num_rows()要求参数1为资源,在
中给出布尔值$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 ) {
答案 0 :(得分:1)
这可能是因为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
之后关闭单引号
答案 1 :(得分:0)
您的查询中存在语法错误,您只需在$ip_address
更改为
$result = mysql_query("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address'");
答案 2 :(得分:0)
试试这个。你错过了一个单引号......
$result = mysql_query("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address' ");
答案 3 :(得分:0)
由于您的查询错误,您不断收到该错误:
mysql_query("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address"
在$ip_address
答案 4 :(得分:0)
您在and ip_address='$ip_address'")
答案 5 :(得分:0)
("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() AND ip_address='$ip_address'")
你错过了一个'在你的SQL语句的末尾,你应该写“AND”大写,因为所有其他的SQL-Keywords都是大写的(不是必需的,但更容易阅读)。
可能缺少的'会修复您的查询。