Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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_fetch_assoc()返回意外值_Php_Mysql - Fatal编程技术网

Php mysql_fetch_assoc()返回意外值

Php mysql_fetch_assoc()返回意外值,php,mysql,Php,Mysql,我正在做一个项目,我使用mysql\u fetch\u assoc返回一个关联数组 然而,我不明白为什么它会返回TRUE 我已经看过PHP手册页面,它应该返回的唯一布尔值是FALSE,然后只有在失败时才返回 虽然我使用的是一组自定义的抽象类,但它基本上是这样做的: $result = mysql_query("SELECT * FROM table WHERE filename = 'test1.jpg'"); var_dump(mysql_fetch_assoc($result)); // b

我正在做一个项目,我使用
mysql\u fetch\u assoc
返回一个关联数组

然而,我不明白为什么它会返回
TRUE

我已经看过PHP手册页面,它应该返回的唯一布尔值是
FALSE
,然后只有在失败时才返回

虽然我使用的是一组自定义的抽象类,但它基本上是这样做的:

$result = mysql_query("SELECT * FROM table WHERE filename = 'test1.jpg'");
var_dump(mysql_fetch_assoc($result)); // bool(true)
有人知道为什么它会返回
TRUE
而不是数组吗

更新

在尝试了一些东西之后,我确定了它是我的库,因为运行上面的代码会返回一个关联数组。我不知道为什么它会返回
TRUE
,但现在,我要停止让事情变得比实际情况更复杂(这是我的问题),只使用mysqli(感谢提示,Michael)而不是我自己的ActiveRecord类,因为它显然不起作用

谢谢

您是否尝试过:

print_r (mysql_fetch_assoc($result));
它可能会给你想要的东西

哦,我真傻,var_dump()什么也不返回,它直接输出它的结果,就像print_r()。

您尝试过:

print_r (mysql_fetch_assoc($result));
它可能会给你想要的东西


哦,我真傻,var\u dump()什么也不返回,它直接输出它的结果,比如print\u r()。

开始使用mysqli\u fetch\u assoc。旧版本很快就要过时了——不管怎样,新版本更好。

开始使用mysqli\u fetch\u assoc。旧版本很快就要过时了——不管怎样,新版本更好。

我遇到了同样的事情。这是我一个愚蠢的编码错误

我从以下几点开始:

$result = mysql_query($someSql);
while($row = mysql_fetch_assoc($result)) {
   // do stuff
}
效果很好。然后我把它改成:

$result = mysql_query($someSql);
while($row = mysql_fetch_assoc($result) && $someCondition) {
   // do stuff
}
这被解释为
$row=(mysql\u fetch\u assoc($result)和&$someCondition)
,这意味着
$row
变为
true
,同时还有行,第二个条件是
true

我想写的是:

$result = mysql_query($someSql);
while(($row = mysql_fetch_assoc($result)) && $someCondition) {
   // do stuff
}

我遇到了同样的事情。这是我一个愚蠢的编码错误

我从以下几点开始:

$result = mysql_query($someSql);
while($row = mysql_fetch_assoc($result)) {
   // do stuff
}
效果很好。然后我把它改成:

$result = mysql_query($someSql);
while($row = mysql_fetch_assoc($result) && $someCondition) {
   // do stuff
}
这被解释为
$row=(mysql\u fetch\u assoc($result)和&$someCondition)
,这意味着
$row
变为
true
,同时还有行,第二个条件是
true

我想写的是:

$result = mysql_query($someSql);
while(($row = mysql_fetch_assoc($result)) && $someCondition) {
   // do stuff
}

实际的代码是什么样子的?实际的代码是什么样子的?“很快就过时了-新的更好”,新的应该是pdo,因为有一个讨论将所有非pdo db扩展从核心移动到pecl。但无论如何这都被推迟了;PHP6的“当前”快照同时包含php_mysql和php_mysqli“很快就会过时-新的更好”,新的快照将是pdo,因为讨论了将所有非pdo db扩展从核心迁移到pecl。但无论如何这都被推迟了;PHP6的“当前”快照同时包含php_mysql和php_mysqli mysql_num_rows()说什么?如果直接将MySQL查询放入数据库会发生什么?MySQL_num_rows()说什么?如果直接将MySQL查询放入数据库会发生什么?