【问题标题】:Don't use prepared statements in Laravel Eloquent ORM?不要在 Laravel Eloquent ORM 中使用准备好的语句?
【发布时间】:2014-10-07 09:29:16
【问题描述】:

我可以让 Eloquent ORM 在不使用预准备语句的情况下运行查询吗?还是我必须使用whereRaw()

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

【问题讨论】:

    标签: sql laravel prepared-statement eloquent infinidb


    【解决方案1】:

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

    DB::unprepared($sql);
    

    对于未准备好的SELECT,您可以通过getPdo() 访问活动 PDO 连接来使用普通 PDO query()

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

    【讨论】:

    猜你喜欢
    • 2015-01-23
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 2014-06-22
    • 2015-08-27
    • 1970-01-01
    相关资源
    最近更新 更多