Michael Joseph Aubry Michael Joseph Aubry - 2 months ago 19
MySQL Question

How to connect to mysql with laravel?

This is such a simple basic question I don't think there is much people asking this but simply how do I connect to mySql through localhost phpmyadmin with laravel (ive searched, there is some stuff, but I need to ask because I am a noob and Id like to ask, the stuff I saw I don't quite get 100% or I tried and it didn't help)?

I am working with backbone.js and am brand new to laravel, I installed laravel inside

C:\wamp\www\laravel-project


I tried


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

  2. c:\wamp\www\laravel-project> php artisan migrate



I expect to have to define the database information, I checked
C:\wamp\www\laravel-project\app\config\database.php
and it looks correct, mySQL is set on the defaults
root
being the user name, and '' empty being the password.

The error in the command line I get after running
php artisan migrate
is

[PDOException]
SQLSTATE[HY000] [1049] Unknown database 'database'


I am using windows 8, and wamp for my localhost server, it of course includes phpmyadmin and mySql. So I am sure there are tons of ways to use mySql but I don't think I am setting up laravel and phpmyadmin properly.

So any insight would be amazing, easy points.

EDIT: Actually thinking this through maybe I need to create a database named
database
let me try that. be back soon. lol, okay Ill answer my question or someone can, just incase someone searches this topic... it is KEY to make sure the database defined in
C:\wamp\www\laravel-project\app\config\database.php
matches a database that exists inside your phpmyadmin. No brainer!

Answer

Laravel makes it very easy to manage your database connections through app/config/database.php.

As you noted, it is looking for a database called 'database'. The reason being that this is the default name in the database configuration file.

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

Change this to the name of the database that you would like to connect to like this:

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

Once you have this configured correctly you will easily be able to access your database!

Happy Coding!