这个问题在这里已经有答案了:
在mysql中何时使用单引号、双引号和反引号(13个答案)
如何显示mysqli查询的错误[重复](2个答案)
如何检查mysql中是否存在行(i、 e.检查mysql中是否有邮件(4个答案)
两年前关门了。
我有这个代码来检查用户名是否存在于数据库中,否则插入到数据库中。但是,它仍然会插入到数据库中。
$username = $_POST['user_name'];
if (isset($_POST['user_email'])){
$sql="select user_name, user_email from user_credintals where user_name = $username";
$result = $db->query($sql);
if($result->num_rows > 1){
echo"name already exists";
}else{
$sql = "INSERT INTO
user_credintals(user_name, user_password, user_email , user_level)
VALUES('" . $db->real_escape_string($_POST['user_name']) . "',
'" . $db->real_escape_string(sha1($_POST['user_password'])) . "',
'" . $db->real_escape_string($_POST['user_email']) . "',
0)";
$result = $db->query($sql);
if(!$result){
echo 'Failed to register user, try again!';
}
}
1条答案
按热度按时间iqih9akk1#
您正在检查行数是否大于1。所以这里我不算。你需要检查一下
if($result->num_rows >= 1){
等于或大于的意思。