在 PHP5 中为 SQLite3 转义字符串

Pwn*_*nna 5 php sqlite

为什么这两个功能都让我失望?或者这只是一种错觉?

<?php
echo sqlite_escape_string('Hello "World" \'\' ...');
echo "\n";
echo SQLite3::escapeString('Hello "World" \'\' ...');
echo "\n";
?>
Run Code Online (Sandbox Code Playgroud)

输出:

Hello "World" '''' ...
Hello "World" '''' ...
Run Code Online (Sandbox Code Playgroud)

Alf*_*red 4

您应该使用PDO来访问数据库,因为它已经准备好语句,比转义更安全,而且速度更快。

PHP 数据对象 (PDO) 扩展定义了一个轻量级、一致的接口,用于访问 PHP 中的数据库。每个实现 PDO 接口的数据库驱动程序都可以将特定于数据库的功能公开为常规扩展函数。

使用 PDO 的另一个大优点是您可以轻松地在数据库之间切换(例如 MySQL、PostGRESQL、SQLite),而无需更改大量代码。

可以在nettuts上阅读如何使用 PDO 的快速介绍。如果你问我的话,这是一本非常好的读物/介绍!

  • SQLite 3 有 escapeString() 方法,所以我现在就使用它。 (2认同)