MYSQLI可以选择指定从DB获取的查询的reulttype。
mysqli_fetch_array(结果,与resultType);
我想知道在使用CodeIgniter框架时是否有类似的选项。它似乎默认返回一个ASSOC数组,而我需要一个MYSQLI_NUM类型的数组。
提前致谢
答案 0 :(得分:0)
答案是否,CI没有返回MYSQLI_NUM类型数组的选项。
重构CI数据库返回以获得所需的结构并不是很困难。
假设您经常希望获得MYSQLI_NUM类型的数组结果,在您的模型中创建一个名为result_num_array()
的函数。它将重构任何返回CI_DB_result
的CI数据库函数的输出。这些功能是db->query()
,db->get()
和db->get_where()
。其中任何一个的返回都可以是传递给result_num_array()
的参数,这是以这种方式定义的。
public function result_num_array($query)
{
$data = $query->result_array();
$result = [];
foreach($data as $record)
{
$row = [];
foreach($record as $field)
{
$row[] = $field;
}
$result[] = $row;
}
return $result;
}
一个用法示例:在虚构的模型函数get_some()
中使用result_num_array()
就像这样
public function get_some()
{
$query = $this->db->query("Select * from sometable");
return $this->result_num_array($query);
}