Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel查询生成器-从传统SQL迁移_Php_Mysql_Laravel_Laravel 5 - Fatal编程技术网

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
获取用户的名字