1

这是我的代码:

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

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

4

3 回答 3

5

问题是你有一个错误的 SQL 查询:

$sql1 = 'SELECT * FROM login WHERE age= "$age", town = "$town" and ID != "$id"';

注意子句中不恰当的,after 。它应该是这样的:age = "$age"WHERE

$sql1 = "SELECT * FROM login WHERE age= '$age' AND town = '$town' and ID != '$id'";
于 2011-07-24T19:29:50.233 回答
3

您的查询有语法错误。$result1尝试使用前检查;打印mysql_error()的时候FALSE。你会被告知问题出在哪里。

此外,您对 SQL 查询字符串使用单引号意味着不会发生变量插值......因此您不太可能返回行。

于 2011-07-24T19:38:05.933 回答
1

你把单引号和双引号弄混了。使所有单引号双引号,反之亦然。

尝试回显$sql1以了解我的意思

numResults 有可能等于 0,但它仍然不应该导致这种情况。

不,这意味着您的 SQL 有问题。

于 2011-07-24T19:29:57.680 回答