簡體   English   中英

Laravel:隨機錯誤:SQLSTATE[3D000]:無效的目錄名稱:1046 未選擇數據庫

[英]Laravel : random error : SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected

使用我的 Laravel 應用程序時,我隨機收到此錯誤:

SQLSTATE[3D000]:無效的目錄名稱:1046 未選擇數據庫

如果我刷新瀏覽器,則不會出現此錯誤。 這真的很奇怪,因為它在之前和之后都正常工作。

我的數據庫憑據存儲在 .env 文件中

編輯

這是我的文件的內容:

APP_ENV=local
APP_DEBUG=true
APP_KEY=6cYKHzpblHGfE3H0n6j2tSRjoqJsgcqd

DB_HOST=localhost
DB_DATABASE=gestion-inscriptions-v2
DB_USERNAME=root
DB_PASSWORD=

編輯2這里是database.php: http : //laravel.io/bin/bE95X

編輯 3仍然出現此錯誤,即使在其他計算機上(使用 wamp)

提前致謝

PS:我知道在 SO 上已經有同樣的問題,但是沒有對我有用的正確答案,所以......

根據config/database.php.env文件,您可以向我們展示一切正常。

SQLSTATE [3D000]:無效的目錄名稱:1046未選擇數據庫

這表示未選擇數據庫,
似乎存在數據庫問題,或者DB_NAME沒有進入配置database參數。

您需要檢查一些步驟:

1)檢查您的config/database.php文件內容是否包含以下內容:

<?php

return [

    'fetch' => PDO::FETCH_CLASS,

    'default' => 'mysql',

    'connections' => [

        'mysql' => [
            'driver' => 'mysql', 
            'host' => env('DB_HOST'),         
            'database' => env('DB_DATABASE'), 
            'username' => env('DB_USERNAME'), 
            'password' => env('DB_PASSWORD'), 
            'charset' => 'utf8', 
            'collation' => 'utf8_unicode_ci', 
            'prefix' => '', 
            'strict' => false
        ],

        'mysql2' => [
            'driver' => 'mysql', 
            'host' => env('DB_HOST_ACADEMY'), 
            'database' => env('DB_DATABASE_ACADEMY'), 
            'username' => env('DB_USERNAME_ACADEMY'), 
            'password' => env('DB_PASSWORD_ACADEMY'), 
            'charset' => 'utf8', 
            'collation' => 'utf8_unicode_ci', 
            'prefix' => '', 
            'strict' => false
        ],

        'mysql3' => [
            'driver' => 'mysql', 
            'host' => env('DB_HOST_ACADEMY'), 
            'database' => env('DB_DATABASE_ACADEMY_DATE'), 
            'username' => env('DB_USERNAME_ACADEMY'), 
            'password' => env('DB_PASSWORD_ACADEMY'), 
            'charset' => 'utf8', 
            'collation' => 'utf8_unicode_ci', 
            'prefix' => '', 
            'strict' => false
        ]
    ],

    'migrations' => 'migrations',

    'redis' => [
        'cluster' => false,
        'default' => [
            'host' => '127.0.0.1', 
            'port' => 6379, 
            'database' => 0
        ]
    ]
];

2)檢查您的.env文件是否存在於您的應用程序根目錄中,而不是.env.example

3)檢查.env文件是否具有這一行,如果是,請從此處刪除並復制粘貼(可能是拼寫問題):

DB_DATABASE=gestion-inscriptions-v2



ps,因為在您的問題中文件正確,需要更多的調試信息,屏幕截圖等,以查看問題不是與.env或文件系統有關(也許無法讀取.env文件)。

剛才我看到了這個問題,問題出在沒有保存的.env文件中(使用了 VS 代碼)

暫無
暫無

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

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