簡體   English   中英

Laravel DB :: statement CREATE DATABASE無法添加參數(預處理語句?)

[英]Laravel DB::statement CREATE DATABASE can't add parameters (prepared statement?)

我正在使用Laravel 5.3 PHP框架,我需要有關如何使用DB :: statement方法創建數據庫的其他指導,我可以這樣做,但我知道SQL注入的可能性:

DB::statement('CREATE DATABASE new_database_name');

但是我想做這樣的事情:

DB::statement('CREATE DATABASE :db_name', ['db_name' => 'new_database_name']);

我不確定為什么第二個例子不起作用。 我一直在閱讀laravel文檔,這種東西適用於DB :: insert,DB :: select,但是DB :: statement呢

實際上你不能在CREATE或DROP上使用綁定參數。 必須像這樣使用,例如:

DB::statement("CREATE DATABASE {$newDatabase}");

希望這可以幫助

代碼無法工作的可能原因可能是未與數據庫建立連接。 創建新表使用以下代碼段。

DB::getConnection()->statement('CREATE DATABASE :schema', array('schema' => $schemaName));

詳細說明請使用laravel.io上的以下鏈接。 http://laravel.io/forum/09-13-2014-create-new-database-and-tables-on-the-fly

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM