クエリパラメータ用に文字列をエスケープする

# sqlite_escape_string

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_escape_string — クエリパラメータ用に文字列をエスケープする

### 説明

sqlite_escape_string ( string `$item` ) : string

sqlite_escape_string() は、 `item` で指定した文字列を SQLite SQLステートメントで使用できるように正しくクオートします。 この際、シングルクオート(')は2重にされ、 クエリ文字列のバイナリセーフでない文字がチェックされます。

このエンコーディングは、データ挿入を安全に行いますが、 テキスト比較は単純化され、バイナリデータを含むカラムについては クエリの中でLIKE句を使用できません。 実際には、バイナリカラムでこのようなことをするスキーマにはしないの で、これが問題になることはないでしょう (実際には、ファイルのような他の手段でバイナリデータを保存する方が良 いでしょう)。

### パラメータ

`item`

  クォートしたい文字列。

  `item`がNUL文字を含む場合、 または、16進表現の0x01で始まる場合、 PHPはバイナリデータを安全に保存/取得するためのバイナリエンコーディ ングを適用します。

### 返り値

SQLite の SQL 文で使用できる形式にエスケープした文字列を返します。

### 注意

> 注意: この関数を sqlite_create_function()または sqlite_create_aggregate()により作成したUDFから 返す値をエンコードするために使用しないでください。 代わりに sqlite_udf_encode_binary() を使用して ください。

警告

addslashes()をSQLiteクエリの文字列をクオート するために使用するべきではありません。さもないと、 データを取得する際に奇妙な結果を発生する可能性があります。

### 参考

- sqlite_udf_encode_binary() - UDFから返す前にバイナリデータをエンコードする