我想让用户创建一个数据库。查询如下所示:
DB::statement( 'CREATE DATABASE mydbname' )
我需要使用DB::statement
代替DB::select
/ DB::select
/ DB::update
,因为后面的命令不支持create
语句。
我想保护自己免受SQL注入,不幸的是,以下两种方法不适用于DB::statement
:
DB::statement( 'CREATE DATABASE :DBNAME', [ 'DBNAME', 'mydbname' ] );
DB::statement( 'CREATE DATABASE ?', [ 'mydbname' ] );
那么如何保护DB::statement
方法免受SQL注入?如果不可能,如何在不使用原始PHP-PDO的情况下以受保护的laravel方式触发create
查询?