2014-12-03 165 views
-2
$sql = "SELECT name FROM students"; 
$result = $conn->query($sql); 

根據上面的代碼$ result是一個包含數據庫值的對象。php - 將對象轉換爲數組

假設有下列「名」的數據庫中的兩個名字,如NAME 1和NAME

現在我想的是對象$結果轉換成數組其中將包含NAME 1和NAME像數組元素

$name_array = array('name1' , 'name2') 

我該怎麼做?

+2

除非這是自定義數據庫對象,否則大多數數據庫庫不會從query()調用返回「結果」。他們會返回一個結果句柄/對象,然後您可以使用它來實際獲取結果。 – 2014-12-03 17:27:59

+0

雖然他們通常包含一種手段來獲取關聯數組。就重複的列名而言,當你選擇時,它就由你來正確地替換它們。 – Flosculus 2014-12-03 17:28:41

+1

'$ array =(array)$ obj;' – MH2K9 2014-12-03 17:29:23

回答

0

if ($result->num_rows > 0) { 
 
    
 
    while($row = $result->fetch_assoc()) { 
 
     // acess the each colum elements using $row["<col name>"] 
 
     //this will loop through all the rows 
 
    } 
 
} else { 
 
    // no rows where fetched 
 
}

即$行= $ result->取();將數組$行與鍵的一行 的值存儲爲列名

+0

是你的代碼中的$ row是一個數組?就像我上面告訴的,我想要一個包含列元素的數組@nithin – Ishrak 2014-12-03 17:56:55

+0

是的,它是一個關聯數組 – nithin 2014-12-03 18:00:51

0

回答我的問題

得到了我的問題的解決方案,並意識到這是很基本的,不應該已經張貼了這個問題。這類問題應該由自己解決。

$query = "SELECT name FROM students"; 
if($query_run = mysql_query($query)) { 

    $name_array = array(); 
    while($query_row = mysql_fetch_assoc($query_run)) { 

     array_push($name_array, $query_row['name']); 

    } 

array_push函數將執行此操作。

謝謝。