2014-05-01 37 views
-1

我不知道爲什麼它不起作用。基本上我想要的是,從mysql table中選擇所有「emp_no」並存儲在一個數組中並顯示每條記錄。無法將記錄存儲到數組中

$selectresult = mysqli_query($dbc,"SELECT emp_no FROM empreg"); 
     $result_array = array(); 
    while($row = mysql_fetch_assoc($selectresult)) 
    { 
     $result_array[] = $row['emp_no']; 
    } 
    print_r($result_array); 

我得到空的結果,如: - Array()

+8

你混合'mysqli_ *'和'mysql_ *'功能... –

+0

我們確實需要針對此問題的社區維基 - 我已經看到了*很​​多*最近。 – Marty

回答

0

當您使用

$query = mysqli_query("SELECT emp_no FROM emp_reg"); 

您只將mysqli查詢對象存儲到$ query變量中。你不是在數據庫中創建一個包含'emp_no'所有值的數組。 所以這就是爲什麼你這樣做:

while($row = mysqli_fetch_assoc($query)) 
{ 

} 

它通過陣列環,其mysqli_fetch_assoc()從$查詢並存儲在$行造成的。 另一個重要的注意事項:不要將MYSQLI函數與MYSQL函數混合使用。 mysql_ *現在已經被棄用了。

最後,除非由於其他原因需要存儲'emp_no'的值,否則確實沒有理由創建一個數組來存儲它們,您可以在循環內簡單地打印它們。像這樣:

while($row = mysqli_fetch_assoc($query)) 
{ 
    echo $row['emp_no'] . "<br />"; 
} 

希望這可以幫助你理解更多一點。

+0

非常感謝Colum,它的工作。 –

+0

不客氣:) – Colum

0

,您可以嘗試

... 
while($row = mysqli_fetch_assoc($selectresult)) { 
    ...  
} 
0
<?php 

// run query 
$query = mysql_query($dbc,"SELECT emp_no FROM empreg"); 

// set array 
$array = array(); 

// look through query 
while($row = mysql_fetch_assoc($query)){ 

    // add each row returned into an array 
    $array[] = $row; 

    // OR just echo the data: 
    echo $row['username']; // etc 

} 

// debug: 
print_r($array); // show all array data 
echo $array[0]['username']; // print the first rows username 

我希望它幫你