2013-03-28 2 views
0
$goal=array(); 
       //goal 
       $sql=""; 
       //!mysqli_query($con,$sql)) 
       $result = mysqli_query($con,"SELECT * FROM metrics where ini_name = '$ini'");/*table name*/ 
       while($row = mysqli_fetch_array($result)) 
       { 
           array_push($goal,$row['metric_desc']);/*column name*/ 
           array_push($goal_id,$row['metric_id']); 
       } 
           $matrix=array(); 
       //goal 
       $sql=""; 

Я пытаюсь передать значения из базы данных на массив, но я получаю предупреждениеSQLI массив вопрос

Warning: array_push() expects parameter 1 to be array, null given in C:\xampp\htdocs\xampp\Testing\Int\sq2.php on line 195 
+0

Что такое '$ goal_id'? Вы не определили его как массив в опубликованном коде. –

+0

попробуйте инициализировать цель и goal_id как массивы ... что-то вроде '$ goal = array();' – Ken

+0

@YueYuan Спасибо, что решили проблему –

ответ

0

вам не нужны 2 массивов. Вы можете (и должны) хранить идентификаторы в качестве ключей результирующего массива.

while($row = mysqli_fetch_array($result)) 
{ 
    $goal[$row['metric_id']] = $row['metric_desc']); 
} 

или с помощью SafeMysql library, всего вашего кода может быть изменен на

$goal = $db->getIndCol('metric_id',"SELECT * FROM metrics where ini_name = ?i",$ini);