Подтвердить что ты не робот

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

Это простой простой вопрос. Я не думаю, что многие спрашивают об этом, но просто как подключиться к mySql через localhost 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 я попробую это. скоро вернусь. Хорошо, я отвечу на вопрос или кто-то может, на всякий случай кто-то ищет эту тему... это KEY, чтобы убедиться, что база данных, определенная в C:\wamp\www\laravel-project\app\config\database.php соответствует база данных, которая существует внутри вашего phpmyadmin. Нет проблем!

4b9b3361

Ответ 1

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

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

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

Ответ 2

В 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 не найден.

Ответ 3

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

php artisan migrate:install

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

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

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