gpt4 book ai didi

php - 检查用户是否存在: inserts to database without checking?

转载 作者:行者123 更新时间:2023-11-30 00:57:02 25 4
gpt4 key购买 nike

我正在制作一个登录/注册系统,但我根本不明白为什么输入的用户名不会检查数据库中是否存在现有用户名。

电子邮件代码可以完美检查是否存在现有电子邮件,但即使存在现有电子邮件,用户名也会通过!

这是用户名代码:

$query = $db->prepare("SELECT * FROM `users` WHERE `username`=:username");
$query->bindParam(1, $username, PDO::PARAM_STR);
$count = $query->execute(array(":username" => strip_tags(addslashes($_POST['username']))));
if ($query->rowCount() == 1)
{
$errors[] = "Time to be original! That user already exists!";
}

这是有效的电子邮件代码:

$query = $db->prepare("SELECT * FROM `users` WHERE `email`=:email");
$count = $query->execute(array(":email" => strip_tags(addslashes($_POST['email']))));
if ($query->rowCount() == 1)
{
$errors[] = "Please pick a new email! That email is taken!";
}

最佳答案

  1. 您根本不需要调用 $query->bindParam

  2. 我认为没有必要调用 strip_tagsaddslashes。 PDO 将引用所有必要的符号本身。

试试这个:

$query = $db->prepare("SELECT * FROM `users` WHERE `username`=:username");
$count = $query->execute(array(":username" => $_POST['username']));

关于php - 检查用户是否存在: inserts to database without checking?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20460657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com