SQLSTATE[42S02]:找不到基表或视图:1146表X没有';不存在


SQLSTATE[42S02]: Base table or view not found: 1146 Table X doesn't exist

我在Laravel 5:中收到此错误

SQLSTATE[42S02]:找不到基表或视图:1146表"intern.users"不存在(SQL:select*from users where username=admin limit 1(

config/database.php

        'mysql' => [
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'intern',
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
    'strict'    => false,
],

管理页面调用函数admin,其中提到数据库表作为admin,因为其中有许多表。

    public function admin(Request $request){
           if($request->isMethod('get')){
           return 'View::make('student.admin');
        } else
    {

        $check=0;
        $check='DB::table('admin')->get();
        $username = Input::get('username');
        $password = Input::get('password');

     $data=array(
     'username'=>$request->get('username'),
     'password'=>$request->get('password')
    );
    if('Auth::attempt($data))
    {
        return redirect::intended('student/index');
    }
    else
    {
        return redirect('student/admin');
    }

        }   

       }    

表单在这里:

  <div id="pageContent"><br />
<div align="left" style="margin-left:24px;">
  <h2>Please Log In To Manage</h2>
  {!! Form::open(array('url' => '/admin')) !!}
  <input type="hidden" name="_token" value="{{ csrf_token() }}">

    User Name:<br />
      <input name="username" type="text" id="username" size="40" />
    <br /><br />
    Password:<br />
   <input name="password" type="password" id="password" size="40" />
   <br />
   <br />
   <br />
     <input type="submit" name="button" id="button" value="Log In" />

 {!! Form::close() !!}

首先,您应该散列并创建用户详细信息,以使列为身份验证做好准备。

在这里我给出了实现它的步骤。

步骤1:获取输入

$UserData = Input::all();

步骤2:创建条目-插入用户表

User::create($UserData);

注意:

您应该在users表中有以下列

  1. 电子邮件
  2. 密码
  3. 创建日期
  4. 更新日期

附加设置:

在你的User.php(Model(中有这行

protected $fillable = ['email', 'password'];

这是我给你的小登录代码,对你来说足够简单

如果你希望,请尝试一下

$email = $this->request->input('email');
$password = $this->request->input('password');
if (Auth::attempt(['email' => $email, 'password' => $password])) #If the Credentials are Right
{
 return redirect::intended('student/index'); #Your Success Page
}
else
{
 return redirect('student/admin'); #Your Failure Page
}

推荐:

我还建议在创建之前验证用户输入

附加说明:

如果你看到你的表,如果你的密码是加密的,这意味着你已经完成了;(