sql - 不要在 Laravel Eloquent ORM 中使用准备好的语句?

标签 sql laravel prepared-statement eloquent infinidb

我可以让 Eloquent ORM 运行查询而不使用准备好的语句吗?或者我必须使用whereRaw() ?

我需要使用原始查询,因为我正在尝试与 InfiniDB 交互,后者不支持来自 PHP 的准备好的语句。无论如何,所有查询都将使用内部生成的数据,而不是用户输入,因此这不应该是安全问题。

最佳答案

对于除 SELECT 以外的任何内容您可以使用 unprepared()

DB::unprepared($sql);

对于一个毫无准备的人 SELECT您可以使用普通的 PDO query()通过 getPdo() 访问事件的 PDO 连接

$pdo = DB::getPdo();
$query = $pdo->query($sql);
$result = $query->fetchAll();

关于sql - 不要在 Laravel Eloquent ORM 中使用准备好的语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25296029/

相关文章:

laravel livewire,如何通过单击将 id 或数据传递给另一个组件

php - Laravel 5.3 中的路由:: Controller

php - Laravel 无法理解为什么会尝试获取非对象的属性?

eloquent - 如何在原始更新查询 laravel 上设置绑定(bind)

php - MySQLi 准备好的语句在相同的常规查询成功的情况下失败

sql - 在 Excel 输出中写入额外行的查询

c++ - 我可以在出错后使用 ODBC 语句吗(是否有效)?

sql - SQL中如何替换Left Join语句中的部分字符串

mysql - SQL 连接多次?

java - 如何在 JDBC 中使用 MySQL 子查询?