Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql_num_行出现问题_Php_Mysql_Mysql Num Rows - Fatal编程技术网

Php mysql_num_行出现问题

Php mysql_num_行出现问题,php,mysql,mysql-num-rows,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,但仍不应导致此情况

这是我的密码:

$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,但仍不应导致此情况


会不会是那个在导致该问题的第一行中,问题是您的SQL查询不正确:

$sql1 = 'SELECT * FROM login WHERE age= "$age", town = "$town" and ID != "$id"';
注意
WHERE
子句中
age=“$age”
之后的
不正确。应该是这样的:

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

问题是您的SQL查询不正确:

$sql1 = 'SELECT * FROM login WHERE age= "$age", town = "$town" and ID != "$id"';
注意
WHERE
子句中
age=“$age”
之后的
不正确。应该是这样的:

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

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

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

numResults可能等于0,但仍不应导致此情况


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

您的单引号和双引号混淆了。将所有单引号设为双引号,反之亦然

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

numResults可能等于0,但仍不应导致此情况


否。这表示您的SQL有问题。

您的查询有语法错误。在尝试使用之前,请检查
$result1
;当mysql\u error()为
FALSE时打印
。你会被告知问题所在


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

您的查询有语法错误。在尝试使用之前,请检查
$result1
;当mysql\u error()为
FALSE时打印
。你会被告知问题所在



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

=
都是有效的MySQL非相等运算符。我不喜欢您的SO用户名是广告。如果将第二行更改为
$result1=MySQL\u query($sql1)或die(MySQL\u error()),则可以看到MySQL错误
=
都是有效的MySQL非相等运算符。我不喜欢您的SO用户名是广告。如果将第二行更改为
$result1=MySQL\u query($sql1)或die(MySQL\u error()),则可以看到MySQL错误
为什么要使用单引号?事实上,引号对mysql并不重要-当包含在单引号字符串中时,php不会用值替换$var。我以为你必须这样做,但我发现你没有。问题不是他在mysql中使用双引号(请参阅);问题是单引号内的变量不是由PHP计算的。您以前的答案是正确的,现在您已经将其改为不正确的。错的是你说MySQL不接受双引号。现在你误用了引号,变量$age、$town和$id将不会由PHP计算。为什么要使用单引号?事实上,引号对mysql并不重要-当包含在单引号字符串中时,PHP不会用值替换$var。我想你必须,但我知道你没有,问题不在于他在MySQL中使用了双引号(参见);问题是单引号内的变量不是由PHP计算的。您以前的答案是正确的,现在您已经将其改为不正确的。错的是你说MySQL不接受双引号。现在你误用了引号,变量$age、$town和$id将不会被PHP计算<代码>$var=3;回音“$var”
将按字面意思响应
$var
而不是
3
@Backslap:你为什么这么说?(a) 是的,你知道;(b) 你的代码甚至没有检查。说真的,你是<代码>$var=3;回音“$var”
将按字面意思响应
$var
而不是
3
@Backslap:你为什么这么说?(a) 是的,你知道;(b) 你的代码甚至没有检查。