Laravel:随机错误:SQLSTATE[3D000]:目录名称无效:1046未选择数据库


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

我在使用我的laravel应用程序时随机收到这个错误:

SQLSTATE[3D0000]:无效的目录名称: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(

提前感谢

附言:我知道SO上已经有同样的问题了,但没有对我有效的正确答案,所以。。。

根据您向我们显示的config/database.php.env文件,一切正常。

SQLSTATE[3D0000]:无效的目录名称:1046未选择数据库

这意味着未选择数据库,
数据库的存在似乎有问题,或者CCD_ 3没有进入配置CCD_ 4参数。

有一些步骤你必须检查:

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



p.s.因为在您的问题文件是正确的,需要更多的调试信息、屏幕截图等,以查看问题不是.env或文件系统的问题(可能.env文件无法读取(。

刚才我看到了那个问题,问题在中,没有保存.env文件(使用VS代码(