Benzer bir sorunla karşılaştığımda bu soruya rastladım. Cevap, CI'nin hazırlanmış ifadeleri desteklemediği doğrudur. Bununla birlikte, , hazırlanmış ifadeleri kullanamayacağınız anlamına gelmez! Benim bağlantı sınıf olarak PDO kullanıyorum ancak aşağıdaki kod çalışacaktır Aşağıdaki örnekte
:
$q = $this->db->conn_id->prepare('SELECT * FROM tbl_user WHERE uid=? and activation_key=?');
$q->execute(array($param1,$param2));
print_r($q->fetchAll());
Not conn_id size hazır deyimleri çalıştırabilir hangi karşı PDO nesnesidir.
Bu izin vermeyecek olsa da, yerel CI işlevlerinin izin verdiği sorgu dizesini almanız yeterlidir. Bunun için Get Last Executed Query in PHP PDO gibi bir şeye ihtiyacınız olacak.
Ayrıca, bu, daha sonra PDO hazırlığında kullanabileceğiniz ifadelerinizi oluşturmak için Query Builder'ı kullanmanızı engellemez.Örneğin -
$db->where('uid = ?',null,false);
$db->where('activation_key = ?',null,false);
$q = $this->db->conn_id->prepare($db->get_compiled_select('tbl_user'));
sorgu inşa ediyorum ve $db->get_compiled_select('tbl_user');
çıkış Sana yardım gerekirse temel sorguyu görmesini sağlar. Bakın: http://stackoverflow.com/questions/38607368/how-to-implement-in-to-prepare-statement?noredirect=1#comment64603092_38607368 –