无效的目录名称:1046未选择任何数据库


Invalid catalog name: 1046 No database selected

所以我正在运行这个系列教程,它可以帮助您使用Laravel、Gulp和Codeception创建一个轻松的社交网站。

我正在构建注册表。布局完成,代码完成,用户表添加。

当我进入注册页面,填写表格并点击提交时,我得到了这个错误

SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected (SQL: insert into `users` (`username`, `email`, `password`, `updated_at`, `created_at`) values (sad, s@s.com, s, 2015-03-29 05:32:18, 2015-03-29 05:32:18))

我在database.php 中使用getenv()

'mysql' => array(
            'driver'    => 'mysql',
            // 'host'      => 'localhost',
            // 'database'  => 'forge',
            // 'username'  => 'forge',
            // 'password'  => '',
            'host'      => getenv("DB_HOST"),
            'database'  => getenv("DB_NAME"),
            'username'  => getenv("DB_USERNAME"),
            'password'  => getenv("DB_PASSWORD"),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ),

我在两个地方有database.php:/app/config/local/database.php和/app/config/database.php

这是根目录中的.env.local.php和.env.testing.php

 return array(
        'DB_HOST' => 'localhost',
        'DB_USERNAME' => 'root',
        'DB_PASSWORD' => '',
        'DB_NAME' => 'larabook'
    );

这是在/bootstrap/start.php 中

$env = $app->detectEnvironment(array(
    'localhost' => array('localhost'),
));

我真傻,我不得不在start.php 中设置我的机器名称

'local' => array('your-machine-name'),

这解决了问题。