如何用laravel连接到mysql?

Mic*_*bry 40 php mysql localhost laravel

这是一个如此简单的基本问题我不认为有很多人问这个,但我只是如何通过localhost phpmyadmin与laravel连接到mySql(我搜索过,有一些东西,但我需要问,因为我是一个菜鸟,我想问一下,我看到的东西我不是100%得到的,或者我尝试了它并没有帮助)?

我正在使用backbone.js并且是laravel的新手,我在里面安装了laravelC:\wamp\www\laravel-project

我试过了

c:\wamp\www\laravel-project> php artisan migrate:make create_tasks_table --table tasks --create
Run Code Online (Sandbox Code Playgroud)

和

c:\wamp\www\laravel-project> php artisan migrate
Run Code Online (Sandbox Code Playgroud)

我希望必须定义数据库信息,我检查C:\wamp\www\laravel-project\app\config\database.php它看起来是正确的,mySQL设置默认root为用户名,''为密码.

运行后我得到的命令行错误php artisan migrate是

[PDOException]
SQLSTATE[HY000] [1049] Unknown database 'database'    
Run Code Online (Sandbox Code Playgroud)

我正在使用Windows 8,并为我的localhost服务器wamp,它当然包括phpmyadmin和mySql.所以我相信有很多方法可以使用mySql,但我认为我没有正确设置laravel和phpmyadmin.

因此,任何见解都将是惊人的,简单的点.

编辑:

实际上想到这一点,也许我需要创建一个名为的数据库database让我试试.马上回来.好的,我会回答我的问题,或者有人可以,以防万一有人搜索这个主题...... 确保数据库中定义的数据库与phpmyadmin中存在的数据库匹配是关键C:\wamp\www\laravel-project\app\config\database.php.没问题!

Moh*_*eer 76

在Laravel 5中,有一个.env文件,

看起来像

APP_ENV=local
APP_DEBUG=true
APP_KEY=YOUR_API_KEY

DB_HOST=YOUR_HOST
DB_DATABASE=YOUR_DATABASE
DB_USERNAME=YOUR_USERNAME
DB_PASSWORD=YOUR_PASSWORD

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
Run Code Online (Sandbox Code Playgroud)

编辑.env有.env.sample,如果没有找到这样的.env文件,尝试创建.

  • 这应该是Laravel 5以来新接受的答案! (12认同)

ger*_*obk 35

Laravel使您可以非常轻松地管理数据库连接app/config/database.php.

正如您所指出的,它正在寻找一个名为"数据库"的数据库.原因是这是数据库配置文件中的默认名称.

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'database', <------ Default name for database
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),
Run Code Online (Sandbox Code Playgroud)

将此更改为您要连接到的数据库的名称,如下所示:

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'my_awesome_data', <------ change name for database
    'username'  => 'root',            <------ remember credentials
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),
Run Code Online (Sandbox Code Playgroud)

正确配置后,您将能够轻松访问数据库!

快乐的编码!


小智 6

也许你忘了先创建一个表迁移:

php artisan migrate:install
Run Code Online (Sandbox Code Playgroud)

还有一个非常有用的包发生器,它为你做了很多工作https://github.com/JeffreyWay/Laravel-4-Generators#views


Ali*_*Ali 6

不修改app/config/database.php文件本身也好得多......否则修改.env文件并将数据库信息放在那里.(.env文件在Laravel 5中可用,不确定它是否在以前的版本中存在...)

注意:当然您应该已经mysql在app/config/database.php文件中设置为默认数据库连接.