我正在使用PDO和PHP将信息写入数据库。我想检查$tblusername (这是用户输入的用户名)是否与我的数据库中username列中的任何内容相同。UserName在tblUsers下。下面是我的现有代码:
try {
$tblusername = $_POST['Username'];
$tblemail = $_POST['Email'];
$tblpassword = $_POST['Password'];
$conn = new PDO("mysql:host=$servername;dbname=mealplan", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT UserName FROM tblUsers");
if($stmt->rowCount() > 0){
die("Username already in use!");
}else{
echo "3";
$sql = "INSERT INTO `tblUsers` (`UserName`, `Email`, `UserPassword`) VALUES ('?', '?', '?')";
$stmt = $conn->prepare($sql)->execute([$tblusername, $tblemail, $tblpassword]);
}
} catch(PDOException $e) {
echo "<style>.hidden { visibility: visible; } .shown { visibility: hidden; font-size: 0px }</style>";
}
}任何帮助都将不胜感激!
发布于 2021-03-01 03:10:00
在PHP中,您需要使用bindParam为where子句条件传递UserName参数,以便它有助于为给定的UserName提取唯一行。您可以遵循给定的代码。
$stmt = $conn->prepare("SELECT UserName FROM tblUsers where UserName=:tblusername");
$stmt->bindParam(':tblusername', $tblusername);
$stmt->execute();发布于 2021-03-01 03:10:49
修好了!需要添加WHERE UserName = $tblUsername并删除'?‘并将其替换为?
https://stackoverflow.com/questions/66412825
复制相似问题