php - 如何使用 PDO 检查用户是否存在?
问题描述
我的 PDO 查询由于某种原因无法正常工作,页面本身似乎没有任何错误,我已经尝试修复这个问题 2 个月但没有任何效果,我得到了这个似乎没有的“最终”代码任何错误,它仍然无法正常工作。
<?php
require 'database.php';
$message = '';
if (!empty($_POST['username']) && !empty($_POST['email']) && !empty($_POST['phone']) && !empty($_POST['password'])) {
$sql = "INSERT INTO users (username, email, phone, password) VALUES (:username, :email, :phone, :password)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':username', $_POST['username']);
$stmt->bindParam(':email', $_POST['email']);
$stmt->bindParam(':phone', $_POST['phone']);
$password = password_hash($_POST['password'], PASSWORD_BCRYPT);
$stmt->bindParam(':password', $password);
$query = $con->prepare("SELECT username FROM users WHERE username = :username");
$query->bindParam(':username', $_POST['username']);
$query->execute();
if($query->rowCount() > 0){
?> Este usuario ya existe <?php
}
else {
if($stmt->execute()) {
header('Location: login.php');
}
else {
echo "Ocurrió un error";
}
}
}
?>
解决方案
我想这是因为您使用了不适当的变量。在您使用的 $stmt 的初始化和您使用$conn
的 $query 中,请$con
确保使用正确的变量
推荐阅读
- sql - 在sqlite中从table1中选择所有table2中的零条目?
- python - 将三个 Float64 变量连接成一个变量
- javascript - 如何将跨度标记添加到 .html Jquery 方法中的变量?
- python - 如何获得每个 X 值的 Y 最小值?
- firebase - IOS Web 浏览器上的 Firebase 消息传递
- c - 如何使用 strlen() 在 C 中使用 do while 循环从用户那里扫描字符串?
- c++ - 将范围分割成均匀的间隔
- r - 我可以从函数内部访问函数的分配吗?
- c# - 使 @Html.TextBox("datepicker") 只读(因此用户无法键入)
- java - 校长为空:春天