簡體   English   中英

從Laravel密碼提示返回后,“ SQLSTATE [3D000]:無效的目錄名稱:1046未選擇數據庫”

[英]'SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected' after returning from Laravel password reminder

這是我的主頁路線,在這里我得到一個隨機成員:

Route::get('/', function()
{
    $member = User::orderBy(DB::raw('RAND()'))->first();
    return View::make('landing', compact('member'));
});

RemindersControllerpostRemind方法發送電子郵件時,我正在這樣做:

case Password::REMINDER_SENT:
    return Redirect::to('/')->with('flash_message', 'Whatever message...');

然后主頁返回:

Illuminate \ Database \ QueryException
SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected (SQL: select * from `users` order by RAND() asc limit 1)

如果我在那里刷新頁面,它將自動修復。我正在使用getenv().env.php文件填充數據庫連接值。 如果我將其切換為硬編碼,則可以解決此問題。 如果我回到使用getenv()它也可以工作。 但是,當我重新啟動WAMP時,我回到了方格1。

這是怎么回事?

當我使用getenv()替換了database.php中的硬編碼值時,出現了這個問題。

您確定正在加載正確的環境嗎? 您可以在終端中檢查它,然后轉到項目路線並執行

PHP工匠環境

如果不正確,則可以在文件start.php中進行修復。

例如,如果您的本地環境文件(在項目的根目錄中)在文件start.php中被稱為“ .env.local.php”,則應具有以下內容:

$ env ='yourHostName.local'

您可以通過在根文件夾.env文件中添加數據庫名稱以及用戶名密碼來暫時解決此問題。

我遇到了同樣的問題,您只需要在.env文件中更改APP_ENV

APP_ENV=localhost.local

暫無
暫無

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

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