$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
这样的事情... $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
这样的事情...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
当您使用$this->db->get();
时,您可以使用$this->db->result();
,它将返回一个数组对象。
$query = $this->db->get('table_name');
foreach ($query->result() as $row)
{
echo $row->title;
}
不要使用 $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();
/** * 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;
}
}