Php MySQL查询返回的是对象而不是数组

Php MySQL查询返回的是对象而不是数组,php,mysql,sql,arrays,database,Php,Mysql,Sql,Arrays,Database,我正在尝试获取数组,这样我就可以循环它并从中获取类别id。它的输出是奇数行为,首先是公共行,然后是公共行,然后是Num行。我无法循环到这些对象,因为循环代码仅在第1行终止,而没有进一步的行。基本上,输出查询返回如下结果: array (size=3) 'row' => array (size=2) 'product_id' => string '50' (length=2) 'category_id' => string '20' (len

我正在尝试获取数组,这样我就可以循环它并从中获取类别id。它的输出是奇数行为,首先是公共行,然后是公共行,然后是Num行。我无法循环到这些对象,因为循环代码仅在第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)将对象转换为数组,但它对我来说不起作用,因为它仍然在对象中。请建议我,因为解决这个问题花费了太多时间

我不知道为什么这是来的对象??但我得到了解决方案的使用 变量转储($categories['rows'])


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

您正在使用哪个框架??如果您使用简单PHP,请查看此函数

使用函数
mysql\u fetch\u array返回数组中的所有数据

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

Font:

您是否使用任何框架?比如codeigniter等?告诉我你对查询函数的定义我使用的是Opencart,我使用的是mysql\u fetch\u数组,但它对我不起作用。它不起作用,基本上就是为什么会出现这种类型的输出。基本上,我想从我发布的上述代码中删除第一个数组Num Rows。它在第一个数组之后终止,我使用了几个查询,返回如下简单数组:数组(size=2)0=>array(size=2)'product\u id'=>string'50'(length=2)'category\u id'=>string'20'(length=2)1=>array(size=2)'product\u id'=>string'50'(length=2)'category_id'=>字符串'28'(长度=2)