3

ユーザー入力にsmarty とを使用しています。 ormysql_real_escape_string()を使用してコードを挿入し、phpmyadmin を検索すると、バックスラッシュなしで表示されます。'"

DB からレコードを取得すると、バックスラッシュもありません。しかし、db に挿入せずにエスケープ文字列を渡すと、バックスラッシュが付きます。

スラッシュを追加して挿入し、出力時にスラッシュを削除するべきではありませんか? または、何か不足していますか?

4

1 に答える 1

12

あなたはそれを見逃しています-バックスラッシュでエスケープすることは、クエリが不正な形式にならないようにすることを目的としています.

insert into table values ('whatever 'this' is')

テーブルには何も保存されませんが、これは次のとおりです。

insert into table values ('whatever \'this\' is')

「これが何であれ」値をテーブルに保存します。

于 2008-11-10T11:03:30.803 に答える