я получил модель Newroom:Выполнение 2 MySQL запросов в CodeIgniter выпуске
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Newroom_model extends CI_Model {
function __construct()
{
parent::__construct();
}
function get()
{
$data=array();
//First
$query=$this->db->query("call GetHomeTypes()");
$res = $query->result_array();
for($i=0;$i<count($res);$i++)
{
$data['home_Types'][$i]['Type_ID']=$res[$i]['TypeID'];
$data['home_Types'][$i]['Type_Name']=$res[$i]['TypeName'];
}
//Second
$query2=$this->db->query("call GetRoomTypes()");
$res1 = $query2->result_array();
for($i=0;$i<count($res1);$i++)
{
$data['room_Types'][$i]['Type_ID']=$res1[$i]['TypeID'];
$data['room_Types'][$i]['Type_Name']=$res1[$i]['TypeName'];
}
// print_r($data);
return $data;
}
}
?>
Если я буду выполнение только один запрос в модели - все работает нормально, но 2 возвращает ничего. Не могу понять, в чем проблема.
UPD Я обнаружил, что если я использую простой запрос (не процедура) в первой части, все работает отлично
$query=$this->db->query("SELECT TypeID,TypeName
FROM home_Types;");
$res = $query->result_array();
for($i=0;$i<count($res);$i++) {
$data['home_Types'][$i]['Type_ID']=$res[$i]['TypeID'];
$data['home_Types'][$i]['Type_Name']=$res[$i]['TypeName'];
Но мне нужно использовать 2 процедуры и выяснить, почему это работает так.
Какой у вас драйвер db? Проверьте '$ db ['default'] ['dbdriver']' в 'application/config/database.php'. Если это mysql, просто измените его на 'mysqli'. –
Изменен для mysqli, не помогая –
Вы отлаживаете свой запрос? $ This-> db-> last_query()? –