экранирование строк для SQLite3 в PHP5 - PullRequest
4 голосов
/ 28 июня 2011

Почему обе функции меня подводят?Или это просто иллюзия?

<?php
echo sqlite_escape_string('Hello "World" \'\' ...');
echo "\n";
echo SQLite3::escapeString('Hello "World" \'\' ...');
echo "\n";
?>

вывод:

Hello "World" '''' ...
Hello "World" '''' ...

1 Ответ

3 голосов
/ 28 июня 2011

Вы должны использовать PDO для доступа к вашей базе данных, потому что она имеет подготовленных операторов , которые безопаснее, чем экранирование, а также быстрее.

Расширение PHP Data Objects (PDO) определяет легкий, согласованный интерфейс для доступа к базам данных в PHP.Каждый драйвер базы данных, который реализует интерфейс PDO, может предоставлять специфичные для базы данных функции как обычные функции расширения.

Другое большое преимущество при использовании PDO - возможность переключения между базами данных (например, MySQL против PostGRESQL против SQLite)легко, не меняя большую часть вашего кода.

Краткое введение в использование PDO можно прочитать в nettuts .Очень хорошее чтение / введение, если вы спросите меня!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...