2014-02-06 56 views
1

我有一个特殊的mysqli查询,返回结果集数组中第0个位置的空元素。这个空非对象元件似乎当我在结果设置为显示于屏幕mysqli fetch_object在结果集数组的第一个元素中返回非对象

$projAreas[] = array(); 
$projectID = $_GET['projectID']; 

$sql = "SELECT * 
     FROM `areas` , `project_area_junc` 
     WHERE `areas`.`areaID` = `project_area_junc`.`areaID` 
     AND `project_area_junc`.`projectID` = $projectID"; 

$results = $conn->query($sql); 
while($row = $results->fetch_object()) { 
    $projAreas[] = $row; 
    } 

结果尝试循环引起问题在位置0给出不期望的数组元素) 即当我的print_r($ projAreas) 我得到这个:

Array 
(
    [0] => Array 
     (
     ) 

    [1] => stdClass Object 
     (
      [areaID] => 56 
      [propertyID] => 14 
      [areaName] => Living Room 
      [areaInfo] => lots of windows - colonial style 
      [proj_area_juncID] => 10 
      [projectID] => 4 
     ) 

    [2] => stdClass Object 
     (
      [areaID] => 57 
      [propertyID] => 14 
      [areaName] => Kitchen 
      [areaInfo] => 
      [proj_area_juncID] => 11 
      [projectID] => 4 
     ) 

回答

0

试试这个

$projAreas= array();

而不是

$projAreas[]= array();

你必须声明数组$projAreas以及由[]这需要第一个索引0

+0

感谢,该作品! ,因为你发现问题是因为我包括了方括号 - 我应该看到,哦,哦! – mikeC

1

试试这个初始化....

$projAreas = array(); 
    while($row = $results->fetch_object()) { 
     array_push($projAreas ,$row); 
     } 

    print_r($projAreas); 
+0

我运行此代码,它的工作原理,谢谢! – mikeC

相关问题