4

一重引用符で列に挿入しました。すでに$this->db->queryすべての特殊文字を処理しています。しかし、私の問題は、挿入時にガネーシャのようなデータを挿入することです。ガネーシャのみが挿入されます。一重引用符の後のデータが欠落しています。だから私は使い始めまし$this->db->escapeたが、これは私のデータに一重引用符を追加しますが、これを防ぐ方法は必要ありません

私のコード

$sql="insert into tablename (list_name,list_address) values(?,?)" 
$res=this->db-query($sql,array($name,$add));

私の間違いはフロントエンドにありました。バックエンドではありません。質問を削除します。

4

2 に答える 2

5

複雑なクエリの場合、次のような生のクエリを送信する方が簡単だと思います:

$query = "your query";
$result = $this->db->query($query);

次のように変数をクエリに挿入する前に、変数をエスケープすることを忘れないでください。

$var = $this->db->escape($var);
于 2012-11-29T23:26:30.753 に答える
2

一重引用符でデータを保存する場合は、次のようにデータベースに保存する前にデータにスラッシュを追加する必要があります。

$sql="insert into tablename (list_name,list_address) values(?,?)";
$res=this->db-query($sql,array(addslashes($name), $add));

stripslashes()次に、それをデータベースに保存します。これを行った後、ブラウザに出力する前に、データからスラッシュを削除する必要があります。

于 2012-12-18T08:54:19.807 に答える