SQLite3::escapeString

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::escapeStringRetourne une chaîne nettoyée

Description

public static SQLite3::escapeString(string $string): string

Retourne une chaîne qui a été nettoyée afin de l'inclure sans risque dans les requêtes SQL.

Avertissement

Cette fonction n'est pas capable de gérer les chaînes binaires !

Pour correctement gérer les champs BLOB qui contiennent des caractères NUL, utilisez plutôt la fonction SQLite3Stmt::bindParam().

Liste de paramètres

string

La chaîne à nettoyer.

Valeurs de retour

Retourne une chaîne nettoyée, qui pourra être utilisée sans risque dans une requête SQL.

Notes

Avertissement

La fonction addslashes() ne doit PAS être utilisée pour protéger votre chaîne dans vos requêtes SQL ; vous pourriez observer d'étranges résultats lorsque vous récupérerez vos données.

add a note add a note

User Contributed Notes 2 notes

up
1
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.
up
0
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
To Top