CakeFest 2024: The Official CakePHP Conference

SQLite3::escapeString

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

SQLite3::escapeStringRetorna uma string que foi devidamente escapada

Descrição

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

Retorna uma string que foi devidamente escapada para inclusão segura em uma instrução SQL.

Aviso

Esta função (ainda) não é compatível com dados binários!

Para lidar adequadamente com campos BLOB que podem conter caracteres NUL, use SQLite3Stmt::bindParam() em vez disso.

Parâmetros

string

A string a ser escapada.

Valor Retornado

Retorna uma string devidamente escapada que pode ser usada com segurança em uma instrução SQL.

Notas

Aviso

addslashes() NÃO deve ser usado para citar suas strings para consultas SQLite; isso levará a resultados estranhos ao recuperar seus dados.

add a note

User Contributed Notes 2 notes

up
4
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
-1
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