Berawal dari tugas mata kuliah Basis Data Lanjut yang menggunakan stop procedure, saya coba gunakan CodeIgniter untuk membangun aplikasi nya. Tidak banyak konfigurasi yang diperlukan, asal tahu caranya 😀
1. buka file application/config/database.php, ubah nilai $db[‘default’][‘dbdriver’] menjadi seperti di bawah ini
$db['default']['dbdriver'] = 'mysqli';
2. buka file system/database/drivers/mysqli/mysqli_driver.php, ubah method _execute() menjadi seperti di bawah ini
function _execute($sql) {
// Free result from previous query
@mysqli_free_result($this->result_id);
$sql = $this->_prep_query($sql);
// get a result code of query (), can be used for test is the query ok
$retval = @mysqli_multi_query($this->conn_id, $sql);
// get a first resultset
$firstResult = @mysqli_store_result($this->conn_id);
// free other resultsets
while (@mysqli_next_result($this->conn_id)) {
$result = @mysqli_store_result($this->conn_id);
@mysqli_free_result($result);
}
// test is the error occur or not
if (!$firstResult && !@mysqli_errno($this->conn_id)) {
return true;
}
return $firstResult;
}
3. Panggil store procedure yang sudah anda buat dengan
public function model_method($params) {
$sql = "CALL name_of_sp(?)";
return $this->db->query($sql, $params);
}
have fun.
Thanks for this article,. very helfull
Gara-gara harus running 5 query sekaligus, jadi harus pake MySQLi biar ada free resultnya. It works gan 😀