Ошибка аутентификации Laravel - в запросе нет кавычек - PullRequest
0 голосов
/ 10 января 2019

почесал мне голову на этом ... при входе в систему появляется ошибка 500, которая, по-видимому, связана с неспособностью laravel (5.7) выполнить этот запрос

SQL: select * from `users` where `email` = fred@example.com and `users`.`deleted_at` is null limit 1

проверка его в mysql (входя в систему как пользователь laravel - он определенно завершается ошибкой .. правильный запрос должен был быть

select * from `users` where `email` = 'fred@example.com' and `users`.`deleted_at` is null limit 1

Обратите внимание на цитаты по электронной почте

Обратите внимание, что источником этого являются внутренние процессы Laravel, а не все, что я написал.

Я недавно сделал обновление композитора, и могу только подозревать, что что-то сломалось, но это кажется настолько фундаментальным, что я сомневаюсь, что это было обновление laravel

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Удивительно, но это было решено тем, что nginx использовал старую версию php в качестве сокета fpm ... Для будущих исследователей, у которых есть момент WTF над этим ..

У меня есть нет представления о том, почему несколько иная версия php может привести к такой неясной ошибке ... но, эй, ее ответ и магия ...

Итак, пошаговое решение ... проверьте версию php, php -v, проверьте сокеты ls /run/php (в Ubuntu у вас может быть другая платформа), проверьте / etc / nginx / sites-available конфигурации. Затем убедитесь, что они все используют одну и ту же версию php

0 голосов
/ 10 января 2019

Используйте Laravel Eloquent Query Builder

Предполагая, что ваша модель для таблицы пользователей называется «Пользователь», попробуйте выполнить следующий запрос:

$users = User::where('email','=','fred@example.com')
               ->wherenull('deleted_at')
               ->first();

Затем Laravel должен позаботиться обо всем предотвращении инъекций и расположении строк в правильном формате для запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...