php - 在 Laravel 4 中转义原始 SQL 查询

标签 php mysql pdo laravel laravel-4

如何在 Laravel 4 中转义传递给原始查询的参数?我期待像 DB::escape() 之类的东西(它从 Laravel 3 中敲响了警钟)并且还尝试了 DB::quote() (我认为可以通过PDO object)

$query = DB::select("SELECT * FROM users WHERE users.id = " . DB::escape($userId));

我们不能使用带占位符的 select 方法,因为上面只是我们试图实现的一个简化示例。我们有一个大型自定义查询,其中包含一些嵌套的 select 查询,这些查询不能适应查询生成器。

在 Laravel 4 中插入之前转义某些内容的最佳方法是什么?

编辑:

我刚刚发现您可以通过这种方式访问​​ PDO 对象并在其上使用引用函数。这仍然是最好的方法,还是有更简单的方法来访问此功能?

DB::connection()->getPdo()->quote("string to quote");

最佳答案

您可以通过 DB 外观以这种方式引用您的字符串。

DB::connection()->getPdo()->quote("string to quote");

当我发现这个答案时,我确实把它放在了我的问题中,但是我现在把它作为一个实际的答案放进去,以便其他人更容易找到。

关于php - 在 Laravel 4 中转义原始 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18951057/

相关文章:

php - 处理空值和 JSON

php - 为什么 PHP 的内置函数使用常量而不是字符串作为参数?

java - 无法从上下文中获取有效的数据源。获取连接 URL '' 异常的 'null'

php - 如何获取 PDO 错误中的列名?

php - PDO 不调用一行的顺序

php - APC、磁盘命中和要求/包含

php - 忽略 MySQL PDO PHP 命令行中的 1 行不起作用

mysql - 在 select 语句中替换/赋值

php - 语法错误,意外的 T_ECHO,在第 110 行的/Secured_Page_Edit.php 中需要 ',' 或 ';'

php - 是否可以在不遍历一行的情况下检查 pdostatement::fetch() 是否有结果?