私は同様の問題に直面したので、私はこの質問に出くわしました。 CIが準備済みのステートメントをサポートしていないという答えは正しいです。しかし、は、準備文を使用できないことを意味するものではありません。私は私の接続クラスとしてPDOを使用していますが、次のコードは動作します次の例では
:
$q = $this->db->conn_id->prepare('SELECT * FROM tbl_user WHERE uid=? and activation_key=?');
$q->execute(array($param1,$param2));
print_r($q->fetchAll());
注 conn_idはあなたのプリペアドステートメントを実行することができ、これに対してPDOオブジェクトです。
ただし、これは許可されませんが、ネイティブCI関数が許可するクエリ文字列を取得することです。そのためにはGet Last Executed Query in PHP PDOのようなものが必要です。
これ以上の場合でも、クエリービルダーを使用してステートメントを作成し、PDO準備で使用することはできません。たとえば -
$db->where('uid = ?',null,false);
$db->where('activation_key = ?',null,false);
$q = $this->db->conn_id->prepare($db->get_compiled_select('tbl_user'));
は、クエリを構築するだろうし、あなたが$db->get_compiled_select('tbl_user');
出力私はあなたが助けが必要な場合は、基本的なクエリを見ることができるようになります。ここをクリックしてください:http://stackoverflow.com/questions/38607368/how-to-implement-in-to-prepare-statement?noredirect=1#comment64603092_38607368 –