Php Laravel查询生成器-从传统SQL迁移
因此,我开始慢慢地将我的网站迁移到Php Laravel查询生成器-从传统SQL迁移,php,mysql,laravel,laravel-5,Php,Mysql,Laravel,Laravel 5,因此,我开始慢慢地将我的网站迁移到Laravel和我自己,至少我觉得这很有挑战性。我现在必须重写所有传统的sql语句,文档中没有给出常见sql查询的简单片段。下面是我的登录脚本,我花了几个小时试图找出如何转换 $query = "SELECT * FROM users WHERE email='$email' AND password='$password'"; $result = mysqli_query($connection, $query); $count = mysqli_num_ro
Laravel
和我自己,至少我觉得这很有挑战性。我现在必须重写所有传统的sql
语句,文档中没有给出常见sql
查询的简单片段。下面是我的登录脚本,我花了几个小时试图找出如何转换
$query = "SELECT * FROM users WHERE email='$email' AND password='$password'";
$result = mysqli_query($connection, $query);
$count = mysqli_num_rows($result);
if ($count > 0) {
$row = mysqli_fetch_array($result);
if ($row['verified'] == 1) {
echo "Valid";
} elseif ($row['verified'] == 0) {
echo "not aValid";
}
} elseif ($count == 0) {
echo "not Valid";
}
任何帮助或指导都将不胜感激。我需要指出正确的方向,如何做这样一个简单的查询,因为我的网站上有很多这样的问题。我开始觉得我的逻辑一开始可能写得不好。由于Laravel的:
$user=DB::table('users')->其中(['email'=>$email,'password'=>$password])->first();
如果(!为null($user)){
如果($user->verified){
回音“有效”;
}否则{
回音“无效”;
}
}否则{
回音“无效”;
}
如果您认为查询不是非常复杂,那么使用查询生成器构建查询实际上是一个非常简单的过程。你应该深入阅读,你应该很好。此外,当查询似乎没有返回预期结果时,您可以始终使用toSql
方法返回包含正在生成的SQL查询的字符串,因此:
dump(DB::table('users')->其中(['email'=>$email,'password'=>$password])->toSql();
将打印以下内容:
select * from `users` where (`email` = ? and `password` = ?)
问号是条件中使用的实际值的占位符,因为Laravel使用with绑定来构建查询,这意味着您在将值传递给构建器时不需要转义值,因此无需担心
也就是说,在我看来,您正在尝试使用该查询对用户进行身份验证。如果是这样,我强烈建议您使用Laravel的一部分。非常感谢。。。我现在就试试这个。在我的控制器中,我放置了
使用“DB”
这就是我能够运行查询所需要做的全部吗?是的,这就足够了DB
是一个可以快速访问查询生成器的工具。我的IDE
给出了错误未定义的类DB
,如果我提交formIf you拥有use DB,还将得到错误500
在实际生成查询的文件中的代码>语句,则它必须工作。IDE可能会抱怨该类,因为它是在config/app.php
中定义的别名,无法通过传统方法解析。您可以使用来阻止IDE抱怨,但这不是实际的错误。关于HTTP 500错误,您应该确保在.env
文件中将APP_DEBUG
设置为true
,以便在浏览器中显示错误,或者检查storage/logs/laravel.log
文件以查看错误是什么。只要确认一下,我就可以访问这样的列值,对吗$firstname=$user->firstname
获取用户的名字