我最终使用mysql而不是mssql建立了连接,因为它无法正常工作(我正在使用laravel)。但现在它还没有用。我收到错误:
SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected (SQL: create table `users` (`id` int unsigned not null auto_increment primary key, `username` varchar(32) not null, `email` varchar(320) not null, `password` varchar(60) not null, `created_at` timestamp default 0 not null, `updated_at` timestamp default 0 not null) default character set utf8 collate utf8_unicode_ci)
我使用wamp服务器连接到我的localhost。这是我的代码:
> 'mysql' => [
> 'driver' => 'mysql',
> 'host' => env('localhost'),
> 'database' => env('test'),
> 'username' => env('root'),
> 'password' => env(''),
> 'charset' => 'utf8',
> 'collation' => 'utf8_unicode_ci',
> 'prefix' => '',
> 'strict' => false,
> ],
我的环境:
'default' => env('mysql', 'mysql'),
修改
.ENV:
DB_HOST=localhost
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=
答案 0 :(得分:0)
语法env('key','default')
:
key
在env文件中的键之前是关键
default
是默认值
请编辑如下:
> 'mysql' => [
> 'driver' => 'mysql',
> 'host' => env('DB_HOST', 'localhost'),
> 'database' => env('DB_DATABASE','db_name'),
> 'username' => env('DB_USERNAME','root'),
> 'password' => env('DB_PASSWORD',''),
> 'charset' => 'utf8',
> 'collation' => 'utf8_unicode_ci',
> 'prefix' => '',
> 'strict' => false,
> ],
P / s:对不起我的英语。
答案 1 :(得分:0)
.env文件
DB_HOST=localhost
DB_DATABASE=dbname
DB_USERNAME=dbusername
DB_PASSWORD=dbpassword
config / database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'databasename'),
'username' => env('DB_USERNAME', 'dbusername'),
'password' => env('DB_PASSWORD', 'dbpassword'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
正如您在database.php env('DB_DATABASE', 'databasename'),
中看到的那样,检查.env文件中的DB_DATABASE
值,如果未找到或设置,请使用您提供的databasename
参数。
在您的情况下,env
的语法被搞砸了,这可能导致错误。实际上,如果你有.env文件,你根本不需要编辑它。或者您可以避免使用.env文件,并在所述语法中提供database.php中的数据,而不是您当前使用的数据。
注意:.env
文件具有第一优先级,如果您在database1
文件中使用提及.env
并在database2
文件中提及database.php
,{ {1}}将被使用。