可能的php mysqli bug

时间:2011-10-19 19:47:30

标签: php mysqli

我不确定这是不是错误,但有时当我使用mysql检索结果时,我得到了这个:

$result->fetch_array();

mysqli_result Object (
    [current_field] => 0
    [field_count] => 1
    [lengths] => Array (
        [0] => 3
    )
    [num_rows] => 1
    [type] => 0
) Fatal error: Cannot use object of type mysqli_result as array

在查看文档时,它应该返回一个数组或null,而不是一个对象。这是一个错误吗?

压缩后的代码看起来像这样:

$query="SELECT * FROM table where id=''";
$result=$link->query($query);
$row=$result->fetch_array();
print_r($row);

3 个答案:

答案 0 :(得分:1)

{5.3}中的sample code不会重现问题(所有示例代码都应该这样做)。

$result的类型为mysqli_result。根据该值和转储值,您使用的是$result $row

答案 1 :(得分:0)

您必须将$result->fetch_array()的返回值分配给变量然后变为数组的变量。

e.g。 $row = $result->fetch_array(); $row[0]等等。

来自mysqli result object的文档:

mySQLi结果是:

  

表示从对数据库的查询中获得的结果集

答案 2 :(得分:0)

当我使用PHP从MySQL读取时,我使用它:

$query = mysql_query("select something from something");
while($row = mysql_fetch_array($query)){
  $msql[$i]=$row;
  $i++;
}

现在,我有一个带有选定值的二维$ msql数组