Это простой простой вопрос. Я не думаю, что многие спрашивают об этом, но просто как подключиться к 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. Нет проблем!
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' => '', ),
После правильной настройки вы сможете легко получить доступ к своей базе данных!
Счастливое кодирование!
В 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 не найден.
Также гораздо лучше не изменять файл app/config/database.php
… в противном случае изменить файл .env
и поместить там информацию о БД. (файл .env
доступен в Laravel 5, не уверен, что он был там в предыдущих версиях …)
ПРИМЕЧАНИЕ. Конечно, вы должны были установить mysql
как соединение по умолчанию по умолчанию в файле app/config/database.php
.
Возможно, вы забыли сначала создать миграцию таблицы:
php artisan migrate:install
Также есть очень удобный пакет Generators, который делает для вас большую работу https://github.com/JeffreyWay/Laravel-4-Generators#views
Я потратил много времени, пытаясь понять это. Наконец, я попытался отключить мой сервер разработки и снова загрузить его. Разочаровало, это сработало для меня. Я пришел к выводу, что после редактирования файла .env
в Laravel 5 вам нужно выйти из сервера и снова запустить php artisan serve
.
Вероятно, вы только забыли создать базу данных. Введите свой PHPMyAdmin и сделайте это оттуда.
Редактировать: Определенно не ходите с ответом Маулика. Мало того, что использует mysql_ extenstion (который обычно считается плохой практикой), Laravel также заботится о ваших соединениях с использованием PDO.