这是我的代码:
$sql1 = 'SELECT * FROM login WHERE age= "$age", town = "$town" and ID != "$id"';
$result1 = mysql_query($sql1);
$numResults1 = mysql_num_rows($result1);
我的变量很好,他们有数据。错误是这样的:
警告:mysql_num_rows():提供的参数不是.....中的有效MySQL结果资源
numResults有可能等于0,但仍然不应该导致这种情况。
可能是导致它的第一行中的!=吗?
答案 0 :(得分:5)
问题是您的SQL查询错误:
$sql1 = 'SELECT * FROM login WHERE age= "$age", town = "$town" and ID != "$id"';
请注意,
子句中age = "$age"
之后的WHERE
不正确。它应该是这样的:
$sql1 = "SELECT * FROM login WHERE age= '$age' AND town = '$town' and ID != '$id'";
答案 1 :(得分:3)
您的查询语法错误。在尝试使用之前检查$result1
;在mysql_error()
时打印FALSE
。你会被告知问题是什么。
此外,对SQL查询字符串使用单引号意味着不会发生变量插值...因此您不太可能获得返回的行。
答案 2 :(得分:1)
你的单引号和双引号混淆了。将所有单引号用双引号,反之亦然。
尝试回复$sql1
以查看我的意思
numResults有可能等于0,但仍然不应该导致这种情况。
没有。这意味着您的SQL存在问题。