Как подключиться к mysql с помощью laravel?


Это такой простой базовый вопрос, я не думаю, что много людей задают этот вопрос, но просто как мне подключиться к MySQL через локальный хост phpmyadmin с laravel (я искал, есть кое-что, но мне нужно спросить, потому что я нуб, и я хотел бы спросить, то, что я видел, я не совсем понимаю на 100% или я пытался, и это не помогло)?

Я работаю с backbone.js и я совершенно новичок в laravel, я установил laravel внутри C:\wamp\www\laravel-project

Я пытался

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. Нет умник!

Author: Prashant Pokhriyal, 2013-11-26

6 answers

Laravel позволяет очень легко управлять подключениями к базе данных с помощью app/config/database.php.

Как вы заметили, он ищет базу данных под названием "база данных". Причина в том, что это имя по умолчанию в файле конфигурации базы данных.

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

Как только вы настроите это правильно, вы легко сможете получить доступ к своей базе данных!

Счастливого кодирования!

 32
Author: gerobk, 2013-11-27 17:00:06

В 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.образец есть, попробуйте создать из него, если такой файл .env не найден.

 57
Author: Mohammed Safeer, 2015-05-31 09:24:53

Возможно, вы забыли сначала создать таблицу миграций:

php artisan migrate:install

Также есть очень полезные генераторы пакетов, которые делают для вас много работы https://github.com/JeffreyWay/Laravel-4-Generators#views

 6
Author: user3035039, 2013-11-26 05:51:27

Также гораздо лучше не изменять сам файл app/config/database.php... в противном случае измените файл .env и поместите туда информацию о своей БД. (.env файл доступен в Laravel 5, не уверен, был ли он там в предыдущих версиях...)

ПРИМЕЧАНИЕ: Конечно, вы уже должны были установить mysql в качестве подключения к базе данных по умолчанию в файле app/config/database.php.

 5
Author: Ali, 2015-05-31 06:49:35

Я потратил много времени, пытаясь разобраться в этом. Наконец, я попытался выключить свой сервер разработки и снова загрузить его. К сожалению, это сработало для меня. Я пришел к выводу, что после редактирования файла .env в Laravel 5 вам нужно выйти из сервера и снова запустить php artisan serve.

 1
Author: Employee 451, 2016-12-22 23:15:35

Вероятно, вы просто забыли создать базу данных. Введите свой phpMyAdmin и сделайте это оттуда.

Редактировать: Определенно не соглашайтесь с ответом Маулика. Мало того, что он использует расширение mysql_ (что является общепризнанной плохой практикой), Laravel также заботится о ваших соединениях с помощью PDO.

 0
Author: Patrik Fuhrmann, 2013-11-27 15:20:02