MySQL查询返回Object而不是Array


MySQL Query returns the Object rather than Array

我正在尝试获取Array,这样我就可以循环它并从中获取category_id。它的输出是Odd行为,首先是Public Row,然后是Public Rows,然后是Num Rows。我无法循环到这些对象,因为循环代码仅在第1行终止,而在第行中不会继续。基本上,输出查询返回如下:

array (size=3)
  'row' => 
    array (size=2)
      'product_id' => string '50' (length=2)
      'category_id' => string '20' (length=2)
  'rows' => 
    array (size=2)
      0 => 
        array (size=2)
          'product_id' => string '50' (length=2)
          'category_id' => string '20' (length=2)
      1 => 
        array (size=2)
          'product_id' => string '50' (length=2)
          'category_id' => string '28' (length=2)
  'num_rows' => int 2

我正在尝试获得简单的数组,这样我就可以动态地循环它并获得所需的输出。这是我的PHP代码:

$categories = (array)$this->db->query("SELECT * FROM " . DB_PREFIX ."product_to_category WHERE product_id=50");
var_dump($categories);  

然而,我已经通过在查询中加前缀(Array)将Object转换为Array,但它对我来说不起作用,因为它仍在对象中。请建议我花太多时间来解决这个问题????

我不知道为什么这个物体会进来??但我得到的解决方案正在使用var_dump($categories['rows']);

如果有人知道确切的解决方案,你的帮助可能是可以接受的。

您正在使用哪个框架??如果您使用Simple PHP进行arr,请查看此函数mysql_fetch_array

使用函数mysql_fetch_array 返回数组中的所有数据

$categories = $this->db->query("SELECT * FROM " . DB_PREFIX ."product_to_category WHERE product_id=50");
var_dump(mysql_fetch_array($categories)); 

字体:http://us2.php.net/mysql_fetch_array