【发布时间】:2015-10-27 13:47:35
【问题描述】:
当你在运行查询并且没有使用 Laravel 中的流畅查询构建器时,是否必须使用函数 DB::raw?
例如
$result = DB::select("SELECT * FROM users");
$result2 = DB::select(DB::raw("SELECT * FROM users"));
在这两种情况下我得到相同的结果。那么为什么一定要用DB::raw呢?
【问题讨论】:
当你在运行查询并且没有使用 Laravel 中的流畅查询构建器时,是否必须使用函数 DB::raw?
例如
$result = DB::select("SELECT * FROM users");
$result2 = DB::select(DB::raw("SELECT * FROM users"));
在这两种情况下我得到相同的结果。那么为什么一定要用DB::raw呢?
【问题讨论】:
DB::raw()用于生成不被解析的任意 SQL 命令 查询生成器的任何进一步。因此,他们可以通过 SQL 注入 create a vector for attack。
检查此参考。链接,详细信息:http://fideloper.com/laravel-raw-queries
DB::raw 和 DB::select 中的Example
【讨论】:
DB::raw。并且您确定是内容。