Php 如何使用laravel连接到mysql?

Php 如何使用laravel连接到mysql?,php,mysql,laravel,localhost,Php,Mysql,Laravel,Localhost,这是一个非常简单的基本问题,我不认为有多少人会问这个问题,但我如何通过本地主机phpmyadmin和laravel连接到mySql(我搜索过,有一些东西,但我需要问,因为我是一个noob,我想问,我看到的东西我没有100%得到,或者我尝试过,但没有帮助) 我正在使用并且是全新的,我安装在C:\wamp\www\laravel项目中 我试过了 c:\wamp\www\laravel-project> php artisan migrate:make create_tasks_table --

这是一个非常简单的基本问题,我不认为有多少人会问这个问题,但我如何通过本地主机phpmyadmin和laravel连接到mySql(我搜索过,有一些东西,但我需要问,因为我是一个noob,我想问,我看到的东西我没有100%得到,或者我尝试过,但没有帮助)

我正在使用并且是全新的,我安装在
C:\wamp\www\laravel项目中

我试过了

c:\wamp\www\laravel-project> php artisan migrate:make create_tasks_table --table tasks --create

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

运行
php artisan migrate
后,我在命令行中遇到的错误是

[PDOException]
SQLSTATE[HY000] [1049] Unknown database 'database'    
我正在使用Windows8和wamp作为本地主机服务器,它当然包括phpmyadmin和mySql。所以我确信有很多方法可以使用mySql,但我认为我没有正确地设置和使用phpmyadmin

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

编辑:


实际上,仔细考虑一下,也许我需要创建一个名为
database
的数据库,让我试试。很快回来。好的,我会回答我的问题,或者有人可以,以防万一有人搜索这个主题。。。要确保在
C:\wamp\www\laravel project\app\config\database.php
中定义的数据库与phpmyadmin中存在的数据库匹配,请按键。不用动脑筋

可能您忘记了首先创建表迁移:

php artisan migrate:install

此外,还有一个非常实用的包生成器,它为您做了大量工作

您可能只是忘记了创建数据库。输入您的PHPMyAdmin并从那里执行


编辑:绝对不要同意莫利克的答案。Laravel不仅使用mysql_uu.extension(这是公认的错误做法),还使用PDO来管理您的连接。

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

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

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'database', <------ Default name for database
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),
'mysql'=>数组(
“驱动程序”=>“mysql”,
'主机'=>'本地主机',
'数据库'=>'数据库','根',
'密码'=>'',
“字符集”=>“utf8”,
“排序规则”=>“utf8\U unicode\U ci”,
'前缀'=>'',
),
将其更改为要连接到的数据库的名称,如下所示:

'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'    => '',
),
'mysql'=>数组(
“驱动程序”=>“mysql”,
'主机'=>'本地主机',
'数据库'=>'我的数据','根','',
“字符集”=>“utf8”,
“排序规则”=>“utf8\U unicode\U ci”,
'前缀'=>'',
),
正确配置后,您将能够轻松访问数据库


快乐编码

最好不要修改
app/config/database.php
文件本身。。。否则,修改
.env
文件并将数据库信息放在那里。(
.env
文件在Laravel 5中可用,不确定以前的版本中是否有该文件…)


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

在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.sample,如果没有找到这样的.env文件,则尝试从该文件创建

我花了很多时间想弄明白这一点。最后,我尝试关闭我的开发服务器并再次启动它。令人沮丧的是,这对我起了作用。
我得出的结论是,在编辑Laravel 5中的
.env
文件后,您必须退出服务器,再次运行
php artisan serve

我想修改.env文件以使用MYSQL,请给我举个例子?helloo gerobk先生,我在这个文件中做了一些更改,但我无法为当前的5.*版本解决方案连接如下。
app/config/database.php
从技术上讲是正确的文件,但实际上它通常只是从
文件中提取
用户名
等值。。。。。
.env
文件位于laravel项目的根文件夹中,
app
config
文件夹的上方。这应该是自laravel 5以来新接受的答案!
.env
文件位于laravel项目的根文件夹中,在
app
config
文件夹上方,我认为标准文档在这里很有用
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