使用我的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上已经存在相同的问题,但没有正确的答案对我有用......答案 0 :(得分:0)
根据config/database.php
和.env
文件,您告诉我们一切正常。
SQLSTATE [3D000]:无效的目录名称:1046未选择数据库
这意味着未选择数据库,
好像有数据库存在的问题,
或DB_NAME
未进入config database
param。
您需要检查一些步骤:
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
附:因为你的问题文件是正确的需要更多的调试信息,屏幕截图等,以查看问题不在.env
或文件系统(可能无法读取.env
文件)。