2017-02-24 134 views
0

如何從結果創建數組?我想在mysql IN()查詢中使用該數組。來自sql結果的PHP數組

//$array = array(); 
     $get_subscategoria = mysqli_query($kapcs, "SELECT kat_id FROM termek_kategoria WHERE kat_parent = '$id'"); 
     if(mysqli_num_rows($get_subscategoria) > 0) 
     { 
      while($sub_kat = mysqli_fetch_array($get_subscategoria)) 
      { 
       echo $sub_kat['kat_id']; 
       //$array[] = $sub_kat; 
      } 
     } 
     //print_r($array); 

現在,這段代碼給出了4行ID,這工作正常。我想要一個帶有這些ID-s的數組,比如1,2,3,4。

+0

使用準備好的語句 – Akintunde007

+0

你需要一個數組還是一個字符串? – RST

+0

我想在一個mysqli查詢中使用它,並使用IN()函數。 – Dave599

回答

1
while($sub_kat = mysqli_fetch_array($get_subscategoria)) 
{ 
$array[] = $sub_kat['kat_id']; 
} 
echo implode(",",$array); 

它給結果如1,2,3,4

+0

它的工作原理,謝謝! – Dave599

2

相反的:

while($sub_kat = mysqli_fetch_array($get_subscategoria)) 
{ 
    echo $sub_kat['kat_id']; 
    //$array[] = $sub_kat; 
} 

使用:

$array = mysqli_fetch_assoc($get_subscategoria); 
1

MySQL,也可以使用group_concat,只給你一個紀錄:

SELECT GROUP_CONCAT(kat_id) AS kat_id 
FROM termek_kategoria 
WHERE kat_parent = '$id' 
GROUP BY kat_parent 
+0

它給出未定義的索引:kat_id錯誤。但表中的名字是kat_id,這是正確的。 – Dave599

+0

@ Dave599然後使用'kat_id'作爲別名,再次檢查它。 – Blank