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!
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!
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é.
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
.
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
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.
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.