2015-10-12 3 views
4

Je suis en train de faire un formulaire de connexion dans Laravel 5.Laravel 5 - Base de données inconnue

Chaque fois que je tente de me connecter, je reçois l'erreur

PDOException en ligne Connector.php 55: SQLSTATE [42000] [1049] Unknown base de données 'php2project'

Cependant, la base de données existe.

Je pourrais utiliser "php artisan migrate" sans aucun problème, donc je ne sais pas pourquoi j'ai ce problème en ce moment.

est ici que mon fichier .env ressemble

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=_STACK_ 

DB_HOST=127.0.0.1 
DB_DATABASE=php2project 
DB_USERNAME=root 
DB_PASSWORD=_STACK_ 

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 
MAIL_ENCRYPTION=null 

EDIT: Voici mes informations config/base de données

'default' => env('DB_CONNECTION', 'mysql'), 

/* 
|-------------------------------------------------------------------------- 
| Database Connections 
|-------------------------------------------------------------------------- 
| 
| Here are each of the database connections setup for your application. 
| Of course, examples of configuring each database platform that is 
| supported by Laravel is shown below to make development simple. 
| 
| 
| All database work in Laravel is done through the PHP PDO facilities 
| so make sure you have the driver for your particular database of 
| choice installed on your machine before you begin development. 
| 
*/ 

'connections' => [ 

    'sqlite' => [ 
     'driver' => 'sqlite', 
     'database' => database_path('database.sqlite'), 
     'prefix' => '', 
    ], 

    'mysql' => [ 
     'driver' => 'mysql', 
     'host'  => env('DB_HOST', 'localhost'), 
     'database' => env('DB_DATABASE', 'forge'), 
     'username' => env('DB_USERNAME', 'forge'), 
     'password' => env('DB_PASSWORD', ''), 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
     'strict' => false, 
    ], 

    'pgsql' => [ 
     'driver' => 'pgsql', 
     'host'  => env('DB_HOST', 'localhost'), 
     'database' => env('DB_DATABASE', 'forge'), 
     'username' => env('DB_USERNAME', 'forge'), 
     'password' => env('DB_PASSWORD', ''), 
     'charset' => 'utf8', 
     'prefix' => '', 
     'schema' => 'public', 
    ], 

    'sqlsrv' => [ 
     'driver' => 'sqlsrv', 
     'host'  => env('DB_HOST', 'localhost'), 
     'database' => env('DB_DATABASE', 'forge'), 
     'username' => env('DB_USERNAME', 'forge'), 
     'password' => env('DB_PASSWORD', ''), 
     'charset' => 'utf8', 
     'prefix' => '', 
    ], 

], 

Contrôleur

<?php 
namespace App\Http\Controllers; 
use View; 
use Auth; 
use Illuminate\Support\Facades\Validator; 
use Illuminate\Support\Facades\Input; 
use Illuminate\Support\Facades\Redirect; 

class LogInController extends Controller 
{ 
    public function showLogin() 
    { 
     return View::make('login.login'); 
    } 

    public function doLogin() 
    { 
     // validate 
     $rules = array(
      'email' => 'required|email', 
      'password' => 'required|alphaNum|min:3' 
     ); 
     // run the validation rules on the inputs from the form 
     $validator = Validator::make(Input::all(), $rules); 

     // if the validator fails, redirect back to the form 
     if ($validator->fails()) { 
      return Redirect::to('login') 
       ->withErrors($validator) 
       ->withInput(Input::except('password')); 
     } else { 
      // create our user data for the authentication 
      $userdata = array(
       'email'  => Input::get('email'), 
       'password' => Input::get('password') 
      ); 
      // attempt to do the login 
      if (Auth::attempt($userdata)) { 

       // validation successful! 
       // redirect them to the secure section or whatever 
       // return Redirect::to('secure'); 
       // for now we'll just echo success (even though echoing in a controller is bad) 
       echo 'SUCCESS!'; 

      } else {   

       // validation not successful 
       return Redirect::to('login'); 
      } 
     } 
    } 
} 

vue

@extends('layouts.master') 
@section('title', 'Login') 
@section('content') 

{!! Form::open(array('url' => 'login')) !!} 
    <h1>Login</h1> 
    <p> 
     {!! $errors->first('email') !!} 
     {!! $errors->first('password') !!} 
    </p> 

    <p> 
     {!! Form::label('email', 'Email Address') !!} 
     {!! Form::text('email', Input::old('email'), array('placeholder' => '[email protected]')) !!} 
    </p> 

    <p> 
     {!! Form::label('password', 'Password') !!} 
     {!! Form::password('password') !!} 
    </p> 

    <p>{!! Form::submit('Submit!') !!}</p> 
{!! Form::close() !!} 
+2

Pouvez-vous poster le contenu de: 'app/config/database.php'? – Daan

+0

Sur quel environnement travaillez-vous? – sandeepsure

+0

@Daan mis à jour l'OP –

Répondre

1

Vérifiez d'abord si de vérification des pouvoirs corrects sont définis dans .evn

Si oui essayez la mise en cache de la configuration. Parfois, un problème peut survenir parce que vous avez modifié le fichier .env mais que vous ne l'avez pas mis en cache (uniquement si vous mettez en cache des configurations dans votre projet).

essayer en exécutant php artisan cache:config

-2

Il semble que votre base de données est réglé sur forge dans config-> database.php alors que le nom de base de données dans .env fichier est php2project. Assurez-vous qu'ils sont identiques dans les deux fichiers, également mot de passe est vide dans config-> database.php mais est défini sur _STACK_ dans le fichier .env et assurez-vous également que votre nom d'utilisateur est identique dans les deux fichiers.