SQLSTATE [42S22]:找不到列:1054'where子句'中的未知列'0'

时间:2017-10-16 17:02:48

标签: php mysql laravel-5

所以我正在尝试使用Laravel 5.5创建一个基于帐户的网站。

我有一个数据库表'users',它有:

id - int(10)[PRIMARY_KEY],

created_at - timestamp,

updated_at - 时间戳,

username - varchar [FOREIGN_KEY]

密码 - varchar

我的数据库中已有用户名和密码

用户名:vanderozili

密码:jaujaujau

当我尝试使用此验证登录时

$validation = Validator::make( $request->all(), [
                'username' => 'username|required',
                'password' => 'required|min:8'
            ]);

            if(Auth::attempt(['username', $request->input('username'), 'password', $request->input('password')])){
                return redirect('/shop');
            }

            return redirect()->back();
        }

我遇到了这个错误。

  

(2/2)QueryException

SQLSTATE [42S22]:未找到列:1054“where子句”中的未知列“0”(SQL:select * from users其中0 = username和1 = vanderozili和2 =密码和3 = jaujaujau限制1)

我正在使用mysql通过phpmyadmin

我已经在网上搜索过了,但我看不到像我一样的问题。什么似乎是问题?

1 个答案:

答案 0 :(得分:1)

这个args应该是列名/值对的关联数组,而不是一系列简单的数组值:

if(Auth::attempt(['username' => $request->input('username'), 'password' => $request->input('password')])){`

Assistant configuration

所示