Php 从查询返回对象数组

Php 从查询返回对象数组,php,Php,我目前拥有以下my_sql逻辑: $results = $wpdb->get_results(' SELECT catname as subcatname,categoryid, (SELECT catname

我目前拥有以下my_sql逻辑:

$results = $wpdb->get_results('
                        SELECT
                            catname as subcatname,categoryid, 
                            (SELECT 
                                catname 
                            FROM 
                                isc_categories 
                            WHERE 
                                categoryid= '.(int)$id.') as catname
                        FROM
                            isc_categories
                        WHERE
                            catparentid = '.(int)$id.'
                        AND  
                            catvisible=1
                        ORDER BY
                            subcatname' );

$rs = mysql_query($query);

while ($row = mysql_fetch_object($rs)) {

var_dump($row);

}
这将返回如下所示的数组:

array(1) {
  [0]=>
  object(stdClass)#16 (3) {
    ["subcatname"]=>
    string(29) "Category Name: D.C Ice Makers"
    ["categoryid"]=>
    string(4) "1113"
    ["catname"]=>
    NULL
  }
}
array(1) {
  [0]=>
  object(stdClass)#17 (3) {
    ["subcatname"]=>
    string(33) "Category Name: Parry Boiling Tops"
    ["categoryid"]=>
    string(4) "1114"
    ["catname"]=>
    NULL
  }
}

但是,我希望以以下格式返回结果:

 array(18) {
      [0]=>
      object(stdClass)#258 (3) {
        ["subcatname"]=>
        string(22) "Air Recirculation Unit"
        ["categoryid"]=>
        string(4) "1107"
        ["catname"]=>
        string(18) "Catering Equipment"
      }
      [1]=>
      object(stdClass)#257 (3) {
        ["subcatname"]=>
        string(17) "Beverage Machines"
        ["categoryid"]=>
        string(3) "108"
        ["catname"]=>
        string(18) "Catering Equipment"
      }
    }

我尝试过使用“mysql\u fetch\u对象”,但我很难以我需要的格式返回结果。谢谢

查询错误。试着这样做:

SELECT c.catname as subcatname,
       c.categoryid,
       cc.catname
FROM isc_categories c
JOIN isc_categories cc
  ON cc.categoryid = c.catparentid
WHERE c.catparentid = ' . $id . '
  AND c.catvisible = 1
ORDER BY c.catname

如果您使用相同的查询仅获取顶级父类别(当
$id
为0时),请使用
左联接

查询错误。试着这样做:

SELECT c.catname as subcatname,
       c.categoryid,
       cc.catname
FROM isc_categories c
JOIN isc_categories cc
  ON cc.categoryid = c.catparentid
WHERE c.catparentid = ' . $id . '
  AND c.catvisible = 1
ORDER BY c.catname

如果您使用相同的查询仅获取顶级父类别(当
$id
为0时),请使用
左联接。

显示您的查询。。这就是问题所在!我已经包括了这个问题,谢谢你的提问。。这就是问题所在!我已经包含了这个查询,感谢我在SQL编辑器中使用的查询,它有什么问题?我在SQL编辑器中使用的查询,它有什么问题?