SQLite3::escapeString

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

SQLite3::escapeStringGibt eine passend maskierte Zeichenkette zurück

Beschreibung

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

Gibt eine Zeichenkette zurück, die für eine sichere Einbindung in die SQL-Anfrage passend maskiert wurde.

Warnung

Diese Funktion ist (bis jetzt) nicht binärsicher!

Um BLOB-Felder, die ein NUL-Zeichen enthalten können, verlässlich zu behandeln, sollte stattdessen SQLITE3Stmt::bindParam() verwendet werden.

Parameter-Liste

string

Die maskierte Zeichenkette.

Rückgabewerte

Gibt eine passend maskierte Zeichenkette zurück, welche ohne Bedenken in einer SQL-Anfrage benutzt werden kann.

Anmerkungen

Warnung

Die Funktion addslashes() sollte NICHT genutzt werden, um eine Zeichenkette für den Gebrauch in einer SQL-Anfrage zu maskieren; dies kann bei der Datenabfrage zu unvorhersehbaren Resultaten führen.

add a note add a note

User Contributed Notes 2 notes

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