SQLite3::escapeString
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SQLite3::escapeString — 適切にエスケープされた文字列を返す
説明
SQL 文の中で使えるよう適切にエスケープされた文字列を返します。
警告
この関数は (まだ)バイナリデータ対応ではありません!
BLOB フィールドには NUL 文字が含まれる可能性があります。BLOB フィールドを適切に処理するには、かわりに SQLite3Stmt::bindParam() を用いましょう。
パラメータ
string
-
エスケープしたい文字列。
戻り値
SQL 文の中で安全に使えるよう適切にエスケープされた文字列を返します。
注意
警告
SQLite クエリの文字列をクォートする際に addslashes() を使っては いけません。 予期せぬ結果を引き起こしてしまいます。
+add a note
User Contributed Notes 2 notes
alec at alecnewman dot com ¶
14 years ago
The reason this function doesn't escape double quotes is because double quotes are used with names (the equivalent of backticks in MySQL), as in table or column names, while single quotes are used for values.
This is important to remember, especially coming from another SQL implementation. It can cause strange problems, for example, the query:
SELECT * FROM table WHERE column1="column1"
Would actually return every record, because column1 is always equal to column1. This should instead be:
SELECT * FROM table WHERE column1='column1'
Double quotes are not escaped by the function because they are not interpreted specially within single quoted strings.
nhl261 at yahoo dot com ¶
10 years ago
Be careful if the string contains "\0" char.
see: https://bugs.php.net/bug.php?id=63419
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google