whereraw wheredate updateorcreate php mysql laravel laravel-4

php - updateorcreate - wheredate laravel



Laravel PDOException SQLSTATE[HY000][1049] Base de datos desconocida ''forge'' (10)

  1. Primero tienes que crear tu base de datos relacionada.
  2. Entonces: php artisan cache:clear
  3. Ahora ejecuta php artisan migrate:install

Espero que su problema se resuelva.

Estoy usando Laravel para conectarme a la base de datos MySQL.

Tengo esta excepción:

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

y este es mi config.database.php

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

¿Por qué el error se refiere a la base de datos de PDO ? ¿Y por qué el nombre de la base de datos forge ? Ya lo he cambiado.

¿Debo hacer algo para decirle a Laravel que estoy usando la base de datos MySQL?

Actualización 1

Encontré esta línea protected $table = ''users''; en mi archivo user.php y lo cambié a protected $table = ''user''; porque la tabla en mi base de datos es user no users

Actualización 2

Escribí esto en mi ruta.

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

y agregué UsersController.php en mi carpeta de controladores

y dentro de UsersController.php tengo esto:

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'')); }

y llamo a este url http://localhost:8082/laravel/public/users/

Estoy usando Windows 7 con Laravel 4.2

Gracias por adelantado


Asegúrese de no tener un archivo .evn duplicado en la carpeta laravel. Si existe, elimínelo. Solo guarde el archivo .evn.


Debe borrar la memoria caché de esa manera (debido a que su configuración anterior está en su archivo de memoria caché):

php artisan cache:clear

El error pdo viene del hecho de que Laravel usa el controlador pdo para conectarse a mysql


Encontré este problema varias veces, ten en cuenta que estoy ejecutando laravel a través de Vagrant. Así que aquí están las soluciones que funcionan para mí:

  • Inténtalo de nuevo varias veces (actualizar página)
  • Recargar vagrant (recargar vagrant)

Puede intentar volver a cargar su servidor en lugar de errante (es decir, MAMP)


Nota: una vez que tuve un espacio antes del nombre de mi base de datos como mydatabase lugar de mydatabase , phpmyadmin no mostrará el espacio, pero si lo ejecuta desde la interfaz de línea de comandos de mysql, como mysql -u the_user -p continuación, show databases , podrá ver el espacio.


OK, encontré solución.

En el archivo database.php, por defecto, viene la parte "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, ],

todo lo que necesitas hacer es cambiar los valores:

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

por el nombre de su base de datos (debe crear uno si no tiene ninguno) y por ese nombre de usuario de la base de datos

Me gusta esto

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


Parece que tiene un archivo de configuración específico del entorno en algún lugar que anula la configuración de base de datos predeterminada. Posiblemente app / config / local / database.php .


Tuve el mismo problema y esto es lo que resolví el error.

ANTES DE:

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

DESPUÉS:
Acaba de añadir "" ;

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


Usando phpMyAdmin (o lo que prefieras), acabo de crear una base de datos llamada "forge" y volví a ejecutar el comando de migración de php artisan y todo funcionó.


a veces es porque DB_CONNECTION = mysql y desea usar la base de datos sqlite. La solución a eso es hacer DB_CONNECTION = sqlite. Espero eso ayude

DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=C:/xampp/htdocs/jbtibl/database/database.sqlite DB_USERNAME=root DB_PASSWORD=