php - 使用 php PDO 在 while($row->$statement->fetch()) 中不起作用
问题描述
if(isset($_POST['btnLogin']))
{
$username = $_POST['txtusername'];
$pass_word = $_POST['txtpassword'];
$hashed_password = crypt(sha1($pass_word));
$sqlQuery = "SELECT * from users WHERE username = :username AND password = :password" ;
$statement = $conn->prepare($sqlQuery);
$statement->execute(array(':username' =>$user , ':password'=>$hashed_password));
while($row->$statement->fetch())
{
$id = $row['id'];
$username = $row['username'];
$password = $row['password'];
if(strcmp('$password', '$hashed_password') == 0)
{
echo "<script type='text/javascript'>console.log("Sucess");</script>";
}
else
{
echo "<script type='text/javascript'>console.log("Failed");</script>";
}
}
}
在这里,我正在使用 PHP PDO 代码实现登录页面。我以前没有使用 PHP PDO 的经验。我在注册页面上没有任何错误,但不幸的是程序在之后没有执行
while($row->$statement->fetch())
这是HTML代码
<section>
<div class="container">
<div class="login-form">
<h1>Sign In</h1>
<form id="login-form" method="post" action="">
<div class="form-group">
<input type="text" name="txtusername" placeholder="Username" data-validation="required">
</div>
<div>
<input type="password" name="txtpassword" placeholder="Password" data-validation="required">
</div>
<input type="submit" name="btnLogin" value="Login">
</form>
</div>
</div>
</section>
PHP版本:5.3.8
请给我任何解决它的建议
解决方案
试试下面的。如果它不起作用,请将您的查询包装在其中并打开错误报告。
if(isset($_POST['btnLogin']))
{
$username = $_POST['txtusername'];
$pass_word = $_POST['txtpassword'];
$hashed_password = crypt(sha1($pass_word));
$sqlQuery = "SELECT * from users WHERE username = :username AND password = :password" ;
$statement = $conn->prepare($sqlQuery);
$statement->execute(array(':username' =>$user , ':password'=>$hashed_password));
while($row = $statement->fetch_object())
{
$id = $row->id;
$username = $row->username;
$password = $row->password;
if(strcmp('$password', '$hashed_password') == 0)
{
echo '<script type="text/javascript">console.log("Success");</script>';
}
else
{
echo '<script type="text/javascript">console.log("Failed");</script>';
}
}
}
推荐阅读
- java - 除非单击可编辑单元格,否则 SWT TableViewer 单元格不会显示图像
- amazon-web-services - 为什么我的 Amazon S3 存储桶的预签名 URL 在我指定的到期时间之前到期?
- c# - 无法从代码访问数据库,但可以使用 SSMS
- java - 在 AWS Lambda Authorizer 中访问 URL 路径
- kotlin - 让我们用 vert.x 加密
- android - 如何通过改造发布数据并以正确的格式获得响应?
- shell - 如何组合两个正则表达式(模式)值 int one
- node.js - 将 QS 查询字符串转换为弹性云查询
- docker - 获取容器指标 cpu 负载
- java - 如何使用 Spring Boot Batch Job 更新数据库中的大量数据