Intereting Posts
Не удалось вызвать встроенный метод mb_internal_encoding? Как вызвать скрипт php с использованием элементов формы html вместо командной строки? Как преобразовать массив байтов в строку в PHP? Codeigniter, Join и Case When Query MYSQL не возвращает результат PHP при запросе только для первого рейтинга Загрузить изображение на imgur с помощью php Почему я не могу получить данные JSON, опубликованные с использованием AJAX в моем PHP-файле? Как необязательно добавить запятую и пробел в группу захвата? как загрузить изображение в codeigniter 3 Динамически рассчитать цену продукта на основе значений настраиваемых полей при добавлении в корзину Каковы преимущества программирования OO? Помогло бы мне написать лучший код? Что такое 22527 в error_reporting 22527 из phpinfo Обновить страницу после удаления jquery в codeigniter Список белых списков в настройке фильтра HTML php как хранить и читать данные json через mysql?

Laravel PDOException SQLSTATE Неизвестная база данных 'forge'

Я использую Laravel для подключения к базе данных MySQL.

Я получил это исключение:

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

и это мой config.database.php

 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'laravel', 'username' => 'Anastasie', 'password' => 'A@Laurent', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 

почему ошибка относится к базе данных PDO ? и почему имя базы данных forge ? Я уже изменил его.

Должен ли я что-либо сказать Laravel, что я использую базу данных MySQL?

Обновление 1

Я нашел эту строку protected $table = 'users'; в моем файле user.php, и я изменил его на protected $table = 'user'; потому что в моей базе данных находится user не являющийся users

Обновление 2

Я написал это в своем маршруте

 Route::resource('users', 'UsersController'); 

и я добавил UsersController.php в папку моих контроллеров

и внутри UsersController.php меня есть следующее:

 class UsersController extends BaseController { /** * Display a listing of the resource. * * @return Response */ public function index() { $users = User::all(); return View::make('users.index', compact('users')); } 

и я называю этот URL http://localhost:8082/laravel/public/users/

Я использую Windows 7 с Laravel 4.2

заранее спасибо

Solutions Collecting From Web of "Laravel PDOException SQLSTATE Неизвестная база данных 'forge'"

Вам нужно очистить кеш (например, ваша старая конфигурация находится в вашем кеш-файле):

 php artisan cache:clear 

Ошибка pdo исходит из того, что Laravel использует драйвер pdo для подключения к mysql

  1. Сначала вам нужно создать свою связанную базу данных.
  2. Затем: php artisan cache:clear
  3. Теперь запустите php artisan migrate:install

Надеюсь, ваша проблема будет решена.

Похоже, что у вас есть файл конфигурации, специфичный для конкретной среды, который переопределяет настройки базы данных по умолчанию. Возможно, app / config / local / database.php .

Примечание. Когда-то случилось, что у меня случайно было место до моего имени базы данных, такого как mydatabase а не mydatabase , phpmyadmin не отображает пробел, но если вы запустите его из интерфейса командной строки mysql, такого как mysql -u the_user -p затем show databases , вы сможете увидеть пробел.

Используя phpMyAdmin (или что вы предпочитаете), я только что создал базу данных под названием «forge» и перезапустил команду migpan php artisan, и все это сработало.

Несколько раз сталкивался с этой проблемой, отмечаю, что я использую laravel через Vagrant. Итак, вот исправления, которые работают на меня:

  • Повторите попытку несколько раз (обновите страницу)
  • Перезагрузить бродягу (бродячая перезагрузка)

Вы можете попробовать перезагрузить свой сервер вместо бродяг (т. Е. MAMP)

Хорошо, нашел решение.

В файле database.php, по умолчанию, это часть «mysql»:

  'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ], 

все, что вам нужно сделать, это изменить значения:

 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 

по имени вашей базы данных (вы должны создать ее, если у вас ее нет) и по этому имени базы данных

как это

 'database' => env('DB_DATABASE', 'MyDatabase'), 'username' => env('DB_USERNAME', 'MyUsername'), 

У меня была такая же проблема, и я решил эту ошибку.

ДО:

 $conn= mysqli_connect($server_name, $mysql_Username, $mysql_Password, $db_name); 

ПОСЛЕ:
Просто добавил "" ;

 $conn= "mysqli_connect($server_name, $mysql_Username, $mysql_Password, $db_name)";