SQLSTATE [HY000] [2005]未知的MySQL服务器主机''(2)在Laravel中

时间:2014-04-17 16:17:23

标签: php mysql laravel-4

您好我正在laravel中进行简单登录,当我尝试执行身份验证时出现错误。这是一个相当奇怪的连接错误

enter image description here

CONECTION

'mysql' => array(
        'driver'    => 'mysql',
        'host'      => 'Marsur',
        'database'  => 'database',
        'username'  => 'root',
        'password'  => 'root',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'options'   => array(
            PDO::ATTR_PERSISTENT => true,
        ),
    ),

控制器

public function doLogin(){
    $rules = array('correo' => 'required|email',
                    'password' => 'required');

    $validator = Validator::make(Input::all(), $rules);
    if($validator->fails()){
        return Redirect::to('usuario')
                ->withErrors($validator)// manda los errores al login
                ->withInput(Input::except('password')); //

    }else{
        $userData = array(
                    'Correo' => Input::get('correo'),
                    'Contrasena' => Input::get('password')
                    );

        if(Auth::attempt($userData)){
            echo 'bien';
        }else{
            return Redirect::to('login');
        }
    }
}

模型*

class Usuario extends Eloquent{
protected $table = 'Usuario';
protected $primaryKey = 'idUsuario';
protected $fillable = array('Nombre', 
                        'Apellido', 
                        'TipoUsuario', 
                        'Contrasena', 
                        'Correo', 
                        'Telefono');
}

我该如何解决?

1 个答案:

答案 0 :(得分:1)

Marsur几乎肯定不是有效的主机名。

通常,主机名是IP地址,或localhost。在某些情况下,您可以通过其主机名引用远程服务器,但在这种情况下,它将具有看起来像Web地址的名称。

所以...解决这个问题。如果您的数据库与代码的其余部分位于同一台物理计算机上,则需要localhost