[英]How to connect to mysql with laravel?
这是一个如此简单的基本问题我不认为有很多人问这个,但我只是如何通过localhost phpmyadmin与laravel连接到mySql(我搜索过,有一些东西,但我需要问,因为我是一个菜鸟,我想问一下,我看到的东西我不是100%得到的,或者我尝试了它并没有帮助)?
我正在使用backbone.js并且是laravel的新手 ,我在C:\\wamp\\www\\laravel-project
安装了laravel
我试过了
c:\wamp\www\laravel-project> php artisan migrate:make create_tasks_table --table tasks --create
和
c:\wamp\www\laravel-project> php artisan migrate
我希望必须定义数据库信息,我检查了C:\\wamp\\www\\laravel-project\\app\\config\\database.php
它看起来是正确的,mySQL设置在默认的root
用户名上,'''空是密码。
我在运行php artisan migrate
后获得的命令行中的错误是
[PDOException]
SQLSTATE[HY000] [1049] Unknown database 'database'
我正在使用Windows 8,并为我的localhost服务器wamp,它当然包括phpmyadmin和mySql。 所以我相信有很多方法可以使用mySql,但我认为我没有正确设置laravel和phpmyadmin。
因此,任何见解都将是惊人的,简单的点。
编辑:
实际上想到这一点,也许我需要创建一个名为database
让我试试。 马上回来。 好吧,我会回答我的问题还是有人能,以防万一有人搜索这个话题...... 关键是要确保在定义数据库C:\\wamp\\www\\laravel-project\\app\\config\\database.php
比赛phpmyadmin中存在的数据库。 没问题!
在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
编辑.env有.env.sample,如果没有找到这样的.env文件,尝试创建。
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' => '',
),
将此更改为您要连接到的数据库的名称,如下所示:
'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' => '',
),
正确配置后,您将能够轻松访问数据库!
快乐的编码!
也许你忘了先创建一个表迁移:
php artisan migrate:install
还有一个非常有用的包发生器,它为你做了很多工作https://github.com/JeffreyWay/Laravel-4-Generators#views
不修改app/config/database.php
文件本身也.env
......否则修改.env
文件并将数据库信息放在那里。 ( .env
文件在Laravel 5中可用,不确定它是否在以前的版本中存在...)
注意:当然您应该已经在app/config/database.php
文件中将mysql
设置为默认数据库连接。
我花了很多时间试图弄清楚这个。 最后,我尝试关闭我的开发服务器并再次启动它。 令人沮丧的是,这对我有用。 我得出结论,在Laravel 5中编辑.env
文件后,你必须退出服务器,然后再次运行php artisan serve
。
您可能只是忘了创建数据库。 输入您的PHPMyAdmin并从那里开始。
编辑:绝对不要与Maulik的答案一致。 不仅使用mysql_ extenstion(这是常见的不良做法),Laravel还使用PDO来处理你的连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.