猿问

后gresql返回零长度分隔符错误

我正在尝试与拉拉维尔框架的后greSQL 12建立联系。我使用拉拉维尔5.8版本。当我尝试使用拉拉维尔的身份验证::try()方法登录用户时,我收到以下错误:

Syntax error: 7 ERROR:  zero-length delimited identifier at or near \"\"\"\"\nLINE 1: select * from \"\".\"users\" where \"email\" = $1 limit 1\

我正在使用拉拉维尔的默认数据库表来存储用户数据。使用MySQL时,我的工作效果很好,但是当我使用PgSQL时,我不明白它的原因。任何帮助将不胜感激。



撒科打诨
浏览 160回答 1
1回答

精慕HU

双引号构成分隔标识符。它不应该是像下面这样的空字符串。错:select * from ""."users" where "email" = $email limit 1正确:使用数据库名称select * from "$databaseName"."users" where "email" = $email limit 1(或)尝试不使用数据库名称select * from "users" where "email" = $email limit 1 User::where('email',$email)->first();选中 .env 和数据库.php设置是否使用正确的数据库名称进行更新。
随时随地看视频慕课网APP
我要回答