sqlite_escape_string() は、 item で指定した文字列を SQLite SQLステートメントで使用できるように正しくクオートします。 この際、シングルクオート(')は2重にされ、 クエリ文字列のバイナリセーフでない文字がチェックされます。
itemがNUL文字を含む場合、 または、16進表現の0x01で始まる場合、 PHPはバイナリデータを安全に保存/取得するためのバイナリエンコーディ ングを適用します。
このエンコーディングは、データ挿入を安全に行いますが、 テキスト比較は単純化され、バイナリデータを含むカラムについては クエリの中でLIKE句を使用できません。 実際には、バイナリカラムでこのようなことをするスキーマにはしないの で、これが問題になることはないでしょう。 (実際には、ファイルのような他の手段でバイナリデータを保存する方が良 いでしょう。)
警告 |
addslashes()をSQLiteクエリの文字列をクオート するために使用するべきではありません。さもないと、 データを取得する際に奇妙な結果を発生する可能性があります。 |
注意: この関数を sqlite_create_function()または sqlite_create_aggregate()により作成したUDFから 返す値をエンコードするために使用しないでください。 代わりに sqlite_udf_encode_binary() を使用して ください。