如何用laravel连接mysql?

问题描述 投票:0回答:6

这是一个非常简单的基本问题,我认为没有很多人问这个问题,但我只是想知道如何通过本地主机 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,并使用 Wamp 作为我的本地服务器,它当然包括 phpmyadmin 和 mySql。所以我确信有很多方法可以使用 MySQL,但我认为我没有正确设置 laravel 和 phpmyadmin。

所以任何见解都会是令人惊奇的、简单的观点。

编辑:

仔细考虑一下,也许我需要创建一个名为

database
的数据库,让我尝试一下。马上回来。好的,我会回答我的问题,或者有人可以,以防万一有人搜索这个主题...确保 C:\wamp\www\laravel-project\app\config\database.php 中定义的数据库与 phpmyadmin 中存在的数据库匹配是
KEY
。没脑子!

php mysql laravel localhost
6个回答
86
投票

在 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 文件,请尝试从中创建。


39
投票

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' => 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'    => '',
),

一旦正确配置,您将可以轻松访问您的数据库!

快乐编码!


7
投票

也许您忘记了首先创建表迁移:

php artisan migrate:install

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


6
投票

最好不要修改

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

注意: 当然,您应该已经在

mysql
文件中将
app/config/database.php
设置为默认数据库连接。


2
投票

我花了很多时间试图解决这个问题。最后,我尝试关闭我的开发服务器并再次启动它。令人沮丧的是,这对我有用。 我得出的结论是,在 Laravel 5 中编辑

.env
文件后,您必须退出服务器,然后再次运行
php artisan serve


1
投票

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

编辑:绝对不要同意 Maulik 的答案。它不仅使用 mysql_ 扩展(这是普遍认为的不好的做法),Laravel 还使用 PDO 来处理您的连接。

© www.soinside.com 2019 - 2024. All rights reserved.