使用雄辩的预备语句

时间:2017-06-20 23:12:25

标签: php laravel eloquent

我想使用以下预准备语句创建数据库用户:

DB::statement("CREATE USER ? IDENTIFIED BY ?", ['abc', 'def']);

但是,尝试运行此操作会给我一个错误:

  

SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在'附近使用正确的语法?身份识别?'在第1行(SQL:CREATE USER abc IDENTIFIED BY def)

我可以像这样创作:

DB::statement("CREATE USER {$user} IDENTIFIED BY {$password}");

但我不想使用预先准备好的陈述,我该如何实现呢?

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

DB::statement("CREATE USER :name IDENTIFIED BY :password;", ['name' => 'abc', 'password' => 'def']);