simple_query()
adalah satu-satunya metode database di CodeIgniter yang berperilaku seperti yang Anda tunjukkan. Seperti yang dinyatakan dalam dokumentasi:"Sebagian besar pengguna jarang menggunakan fungsi ini."
Dengan beberapa pengecualian, semua metode Pembuat Kueri lainnya mengembalikan DB_query_builder
contohkan CI_DB_result
objek atau - dalam kasus kueri ketik "tulis" - Boolean yang menunjukkan keberhasilan atau kegagalan. Beberapa pengecualian mengembalikan integer, string, atau campuran (nilai atau FALSE).
Semua metode yang menerima nilai masukan lolos (atau secara opsional tidak lolos) nilai yang diberikan.
Meskipun Query Builder (QB) adalah alat yang hebat, seringkali tidak diperlukan. Menggunakan $this->db->query('your statement here');
seringkali lebih efisien. Memahami tujuan QB adalah membuat string yang secara harfiah digunakan dalam panggilan ke db->query('a query string');
.
Jadi daripada mengetik semua ini...
$this->db->select('id, name, email');
$this->db->from('customers');
$this->db->where('id', $id)
$this->db->where('active', $is_active)
$query = $this->get();
$result = $query->result();
Mengetik berikut menghasilkan hasil yang sama persis seperti di atas karena langsung memberikan string kueri yang dibangun QB dalam kode di atas. (Kueri juga sepenuhnya lolos.) Tapi itu mengeksekusi satu ton lebih sedikit kode untuk sampai ke sana. (Dengan Lebih Sedikit mengetik.)
$query = $this->db->query("Select id, name, email from customers where id = ? and active = ?", [$id, $is_active]);
$result = $query->result();
Ini adalah contoh penggunaan Pengikatan Kueri
Mempelajari kode sumber inti (kebanyakan dalam file 'driver') akan menunjukkan kepada Anda di mana menggunakan simple_query()
tepat dan berguna.