mysql_num_rows的问题

时间:2011-07-24 19:27:08

标签: php mysql mysql-num-rows

这是我的代码:

$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,但仍然不应该导致这种情况。

可能是导致它的第一行中的!=吗?

3 个答案:

答案 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存在问题。