【发布时间】:2017-12-21 03:43:41
【问题描述】:
我在 PHP 中使用 PDO 类来运行 PostgreSQL 查询。
$conn = new PDO("pgsql:host=$dbhost;port=$dbport;dbname=$dbname;user=$dbuser;password=$dbpass");
$query = 'SELECT "ID", "Description" FROM "MyTable"';
$result = $conn->query($query);
假设查询中的某些内容需要用单引号括起来,例如
$query = 'SELECT "ID", "Description" FROM "MyTable" WHERE "Description" = 'A107'';
这不会像现在这样工作。但是,如果我执行以下操作,它将起作用。
$query = 'SELECT "ID", "Description" FROM "MyTable" WHERE "Description" = ' . $conn->quote('A107', PDO::PARAM_STR);
我知道使用 PDO 的准备和执行有更好的方法来做到这一点。该代码本质上是模板的一部分,我的一位同事(编程经验有限)希望将 PostgreSQL 查询粘贴到该模板中。
因此,我正在寻找在这种情况下处理单引号的最简单方法。查询可能比我给出的示例更复杂,我不希望他们过多地弄乱模板。类似于转义的东西会很好,但还没有找到这样的东西。我知道他们有必要进行一些修改,但希望尽量减少。
【问题讨论】:
-
你可以转义单引号 - 使用
\'
标签: php sql postgresql pdo