3

CI のマニュアルを確認したところ、この種のクエリ バインディングがサポートされていることがわかりました。

$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
$this->db->query($sql, array(3, 'live', 'Rick')); 

ただし、私は PDO スタイルを好みます。

$sql = "SELECT * FROM some_table WHERE id = :id AND status = :status  AND author = :author";

このようにして、バインディングはより柔軟になり、シーケンスは問題になりません。

CI はそのようなバインディングをサポートしていますか?

4

3 に答える 3

2

デフォルトでは、Codeigniter は名前付きバインディングをサポートしていません。

名前付きバインディングの方がはるかに読みやすいため、名前付きバインディングまたは名前なしバインディングを受け入れるようにデータベース クラスを「ハッキング」しました。

誰かが「ハック」に興味を持っている場合は、私に知らせてください。どこかにアップロードします

于 2012-07-21T17:25:28.070 に答える
-1

名前付きクエリ バインディングを使用できます。例を挙げましょう。

$sql = 'SELECT @column FROM @table LIMIT @limit';
$this->db->bind('@column', 'username');
$this->db->bind('@table', 'users');
$this->db->bind('@limit', 10);
$query = $this->db->query($sql);  

クエリ バインディング

于 2012-07-17T00:08:21.087 に答える