php - 检查用户名可用性 php

标签 php mysql

<?php
$con = mysqli_connect('localhost','root','[mypassword]','dbhwsource');

if(isset($_GET['username'])){
$username = $con->real_escape_string($_GET['username']);
$test = $con->query("SELECT username FROM users WHERE username='$username'");
if($test!=false) die("usererror");
}

if(isset($_GET['email'])){
$email = $con->real_escape_string($_GET['email']);
$test = $con->query("select * from users where email='$email'");
if($test!=false) die("emailerror");
}

$con->close();
echo "ok";
?>

所以我只是想检查用户名/电子邮件是否可用,但无论输入的用户名是什么,我得到的只是“usererror”!我只是很沮丧,到处搜索示例代码,代码看起来没有任何问题。我做错了什么?

编辑:

$test = $test->fetch_assoc();
if(!empty($test)) die("usererror");

这成功了!

最佳答案

由于您的查询返回 true,这行 if($test!=false) die("usererror"); 被执行, 应该是这样的

$test = $con->query("SELECT username FROM users WHERE username='$username'");
$row_cnt = $test->num_rows;
if( $row_cnt > 0 ) { 
  //you already have user with this name, do something 
}

关于php - 检查用户名可用性 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14795815/

相关文章:

mysql - 从 512mb 编译 mysql 时未编译 *item_geofunc.cc.o*

php - 检查mysql中是否存在用户id

php - 插入后缺少行

php - 将 "require"与 GET/POST 数据一起使用是否安全?

php - 在 WordPress 中执行 PHP

php - VSCode 的电话中未定义类型 'Imagick'

mysql - 当MYSQL没有匹配时返回计数

c# - 登录 phpseclib 并在 C# 中验证

php - 无法获取 DynamicSalt 值以正确输入到 mysql

mysql - 使用批处理文件执行多个命令并使用批处理文件安装 MySQL