簡體   English   中英

如何使用循環從數據庫返回3列的數組

[英]How to return an array of 3 columns from a database by using loop

問題是,我有一個包含一些內容的表。 該表的名稱是departments 它有3列idshort_namelong_name

現在,我正在制作一個類,它將以數組形式返回所有部門,但是我無法通過。 我用array_push()制作數組,但沒有足夠的提示,還有其他想法嗎?

碼:

$con= $this->con;
$db_name= $this->db_name;
$sql="SELECT * FROM $db_name.departments";
$result= mysql_query($sql, $con); 
$data=array(); 
while($happen= mysql_fetch_object($result)) { 
   array_push($data,array([$happen->id],[$happen->short_name],[$happen->long_name])‌​); 
}
return $data; 

嘗試這個:

$con= $this->con; 
$db_name= $this->db_name; 

$sql="SELECT * FROM {$db_name}.departments"; 

$result= mysql_query($sql, $con); 

$data=array(); 

while ($happen= mysql_fetch_object($result)) 
{ 
    $data[$happen->id]['id']         = $happen->id;
    $data[$happen->id]['short_name'] = $happen->short_name;
    $data[$happen->id]['long_name']  = $happen->long_name;
}

return $data;

上面的代碼基於唯一ID(將其用作鍵)將數據添加到數組中。

編輯-提供其他數據后,重組響應。

而不是使用mysql_fetch_object()而是使用mysql_fetch_assoc()

另外,如果可以的話,我會盡量避免使用mysql_ *,而應立即切換為使用PDO。

只需使用mysqli_fetch_assoc()。

http://www.php.net/manual/zh/mysqli-result.fetch-assoc.php

它將結果集直接轉儲到要描述的數組中。 另外,不建議使用mysql_query,因此不應使用。 您需要研究mysqli或pdo函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM