在下面的AnimalSpecies中是一個名爲Values的列。我希望以數組的形式檢索此列的元素。非常基本!以下是如何返回一個空數組?我試過很多東西,當我只是直接的mysql使用爲什麼codeigniter mysql返回一個空數組
SELECT Values
FROM AnimalSpecies
WHERE 1
我似乎得到了正確的事情。
型號:
//retrieve dropdown options
public function get_options($table) {
$this->db->select('*');
$this->db->from($table);
//$this->db->where('Options');
$query = $this->db->get();
//print_r($query);
if ($query->num_rows() > 0)
{
$data = $query->row_array();
print_r($this->db->last_query());die();
return $data;
}
}
控制器:
public function upload_page()
{
$this->load->model('data_model');
$species = $this->data_model->get_options("AnimalSpecies");
}
我已經想通了如何讓 「選項」 列中的值作爲一個數組,雖然我脫光關閉mysql輸出的一部分,所以它有點笨拙。沒有for循環,我得到每個列值的數字索引。
public function get_options($table) {
$this->db->select('*');
$this->db->from($table);
$query = $this->db->get();
if ($query->num_rows() > 0)
{
$data = $query->result_array();
for ($i=0; $i < count($data); $i++)
{
$options_array[] = $data[$i]['Options'];
}
return $options_array;
}
}
在處理'row_array()'來查看你得到的東西之前,你是否在'$ query'結果(或'var_dump()')上試過'print_r()'?此外,嘗試顯示通過在return語句前添加'print_r($ this-> db-> last_query()); die();'執行的實際查詢。 – Wolf
我強烈建議您在處理數據之前總是先執行$ query-> num_rows()> 0測試,除非您完全確定至少會有一行 –
print_r給出CI_DB_mysql_result對象([conn_id] =>資源ID#31 [result_id ] =>資源ID#37 [result_array] => Array()[result_object] => Array()[custom_result_object] => Array()[current_row] => 0 [num_rows] => 7 [row_data] =>)arrayarray (1){[「Options」] => string(0)「」} – MysticalTautologist