web-dev-qa-db-fra.com

Comment se connecter à mysql avec laravel?

C’est une question de base si simple que je ne pense pas que beaucoup de gens le demandent, mais comment puis-je me connecter à mySql via localhost phpmyadmin avec laravel (j'ai déjà fait une recherche, il y a des , mais j’ai besoin de demander parce que je suis un noob et que j’aimerais demander ce que j’ai vu m’a pas vraiment compris à 100% ou j’ai essayé et cela n’a pas aidé)?

Je travaille avec backbone.js et suis nouveau à laravel , j'ai installé laravel à l'intérieur C:\wamp\www\laravel-project

J'ai essayé

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

Et

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

Je m'attends à devoir définir les informations de la base de données, j'ai vérifié C:\wamp\www\laravel-project\app\config\database.php et cela semble correct, mySQL est défini sur les valeurs par défaut root étant le nom d'utilisateur et '' vide étant le mot de passe.

L'erreur dans la ligne de commande que j'obtiens après avoir exécuté php artisan migrate est

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

J'utilise Windows 8 et wamp pour mon serveur localhost, qui inclut bien sûr phpmyadmin et mySql. Donc, je suis sûr qu'il existe une multitude de façons d'utiliser mySql mais je ne pense pas que je suis en train de configurer laravel et phpmyadmin correctement.

Donc, toute idée serait incroyable, des points faciles.

EDIT:

Réfléchissant à cela, je dois peut-être créer une base de données nommée database, laissez-moi essayer. de retour bientôt. Ok, je vais répondre à ma question ou si quelqu'un le peut, juste au cas où quelqu'un chercherait ce sujet ... c'est [~ # ~] touche [~ # ~] pour s'assurer que la base de données définie dans C:\wamp\www\laravel-project\app\config\database.php correspond à une base de données existant dans votre phpmyadmin. Pas de tête!

40

Laravel facilite la gestion de vos connexions à la base de données via app/config/database.php.

Comme vous l'avez noté, il recherche une base de données appelée "base de données". La raison en est qu'il s'agit du nom par défaut dans le fichier de configuration de la base de données.

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

Remplacez ceci par le nom de la base de données à laquelle vous souhaitez vous connecter, comme ceci:

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

Une fois que vous avez configuré ceci correctement, vous pourrez facilement accéder à votre base de données!

Bon codage!

34
gerobk

Dans Laravel 5, il y a un .env fichier,

On dirait

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

Modifier que .env Il y a .env.sample est là, essayez de créer à partir de cela si aucun fichier .env de ce type n'a été trouvé.

75
Mohammed Safeer

Il est également préférable de ne pas modifier le fichier app/config/database.php Lui-même ... sinon, modifier le fichier .env Et y placer vos informations de base de données. (Le fichier .env Est disponible dans Laravel 5, je ne sais pas s'il était là dans les versions précédentes ...)

NOTE: Bien sûr, vous devriez déjà avoir déjà défini mysql comme connexion par défaut à la base de données dans le fichier app/config/database.php.

6
Ali

Peut-être avez-vous oublié de créer d'abord une migration de table:

php artisan migrate:install

De plus, il existe un paquetage très générateur de générateurs, qui fait beaucoup de travail pour vous https://github.com/JeffreyWay/Laravel-4-Generators#views

6
user3035039

J'ai passé beaucoup de temps à essayer de comprendre celui-ci. Enfin, j'ai essayé d'arrêter mon serveur de développement et de le redémarrer. Frustré, cela a fonctionné pour moi. Je suis arrivé à la conclusion qu'après l'édition du .env fichier dans Laravel 5, vous devez quitter le serveur et exécuter php artisan serve encore.

1
Employee 451

Vous avez probablement seulement oublié de créer une base de données. Entrez votre PHPMyAdmin et faites-le à partir de là.

Edit: Décidément, n'allez pas avec la réponse de Maulik. Non seulement il utilise mysql_ extenstion (ce qui est communément reconnu comme une mauvaise pratique), Laravel s'occupe également de vos connexions en utilisant PDO.

0
Patrik Fuhrmann