$this->db->select('id, user_id')->from('be_users')->where('id',$user_id);
$data['user_individual'] = $this->db->get();
如果这是我的数据库查询,我如何得到一个数据库行数组......
即。我想做$data['user_individual']['id']->format_as_array
...
答案 0 :(得分:31)
CodeIgniter提供了几种对查询结果执行的方法。
见这里:https://codeigniter.com/user_guide/database/results.html
result()
返回一个PHP对象数组。
row()
返回该行的单个PHP对象。
result_array()
返回一个数组数组。
row_array()
返回该行的单个数组。
row()
和row_array()
可选择使用一个参数,该参数是您要返回的行数。
除此之外,很难确切地说出你的要求。您应该可以使用这些方法完全按照自己的意愿获取数据。
修改强>:
顺便提一下,访问这些方法的方法是通过$this->db->get()
调用返回的查询对象:
$query = $this->db->get();
$rows = $query->result(); //array of objects
$rows_array = $query->result_array(); //array of arrays
$row = $query->row(); //single object
$row_array = $query->row_array(); //single array
答案 1 :(得分:1)
使用$this->db->get();
时,可以使用返回数组对象的$this->db->result();
。
$query = $this->db->get('table_name');
foreach ($query->result() as $row)
{
echo $row->title;
}
有关如何从数据库中获取结果集的详细信息,请参阅:http://codeigniter.com/user_guide/database/results.html。
答案 2 :(得分:0)
而不是$ this-> DB-> get()使用$ this-> DB-> row_array();
$this->db->select('id, user_id')->from('be_users')->where('id',$user_id);
$data['user_individual'] = $this->db->row_array();
答案 3 :(得分:0)
/ ** * format_database_array * *允许您将数据库对象数据格式化为数组
if(!function_exists('format_database_array')) {
function format_database_array($db_object)
{
$db_array = array();
if($db_object-> num_rows >0)
{
foreach ($db_object->result_array() as $row)
{
foreach ($row as $key => $value)
{
$db_array[$key] = $value;
}
}
}
return $db_array;
}
}