【发布时间】:2014-10-07 09:29:16
【问题描述】:
我可以让 Eloquent ORM 在不使用预准备语句的情况下运行查询吗?还是我必须使用whereRaw()?
我需要使用原始查询,因为我正在尝试与 InfiniDB 交互,它不支持来自 PHP 的预准备语句。无论如何,所有查询都将使用内部生成的数据,而不是用户输入,因此这不应该是一个安全问题。
【问题讨论】:
标签: sql laravel prepared-statement eloquent infinidb
我可以让 Eloquent ORM 在不使用预准备语句的情况下运行查询吗?还是我必须使用whereRaw()?
我需要使用原始查询,因为我正在尝试与 InfiniDB 交互,它不支持来自 PHP 的预准备语句。无论如何,所有查询都将使用内部生成的数据,而不是用户输入,因此这不应该是一个安全问题。
【问题讨论】:
标签: sql laravel prepared-statement eloquent infinidb
对于SELECT 以外的任何内容,您都可以使用unprepared()
DB::unprepared($sql);
对于未准备好的SELECT,您可以通过getPdo() 访问活动 PDO 连接来使用普通 PDO query()
$pdo = DB::getPdo();
$query = $pdo->query($sql);
$result = $query->fetchAll();
【讨论】: