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

时间:2015-03-29 05:55:25

标签: php mysql laravel laravel-4 getenv

所以我正在运行这个教程系列,帮助您使用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'    => '',
        ),

我有2个位置的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'),

));

1 个答案:

答案 0 :(得分:0)

愚蠢的我,我必须在start.php中设置我的机器名称

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

解决了这个问题。