ScotlandPHP 2016

SQLite3::escapeString

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::escapeStringRestituisce una stringa su cui è stato correttamente effettuato l'escape

Descrizione

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

Restituisce una stringa su cui è stato correttamente effettuato l'escape per l'inclusione sicura in un'istruzione SQL.

Avviso

Questa funzione non è (ancora) binary safe!

Per gestire correttamente campi BLOB che possono contenere caratteri NUL, utilizzare invece SQLite3Stmt::bindParam().

Elenco dei parametri

value

La stringa su cui effettuare l'escape.

Valori restituiti

Restituisce una stringa su cui è stato correttamente effettuato l'escape che può essere usata tranquillamente in un'istruzione SQL.

Note

Avviso

addslashes() NON dovrebbe essere usata per mettere fra virgolette le stringhe per le query SQLite; porterà a strani risultati quando si leggeranno i dati.

add a note add a note

User Contributed Notes 2 notes

up
6
alec at alecnewman dot com
6 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
1
nhl261 at yahoo dot com
1 year ago
Be careful if the string contains "\0" char.
see: https://bugs.php.net/bug.php?id=63419
To Top