MySQL Query返回Object而不是Array

时间:2013-11-18 11:40:42

标签: php mysql sql arrays database

我正在尝试获取数组,因此我可以循环它并从中获取category_id。它的输出是奇数行为,第一个是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);  

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

我不知道为什么要进入这个对象?但我得到解决方案的使用     的var_dump($类别[ '行']);

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

2 个答案:

答案 0 :(得分:0)

您正在使用哪个框架?如果您正在使用Simple PHP,请查看此功能 mysql_fetch_array

答案 1 :(得分:0)

使用函数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