[英]How to return an array of 3 columns from a database by using loop
問題是,我有一個包含一些內容的表。 該表的名稱是departments
。 它有3列id
, short_name
, long_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.