php - 检查用户名是否存在sql和php中的代码

标签 php mysql sql

我写了一段代码来检查用户名是否存在于数据库中。似乎返回不存在这样的用户名,即使存在相同的用户名也是如此。

$conu=mysqli_connect("localhost","db_user","db_pass","db_name");
$result = mysql_query("SELECT 1 FROM member WHERE username = $username");
if ($result && mysql_num_rows($result) > 0) {
$user_err = "<i><span class='error'>Usernme already exists</span></i>";
    $errflag = true;
}
elseif(preg_match("/^[0-9a-zA-Z_]{5,}$/", $username) === 0) {
    $user_err = "<i><span class='error'>Usernme must be bigger than 5 chararacters and can contain only digits, letters and underscore</span></i>";
    $errflag = true;
}

最佳答案

尝试

mysql_query("SELECT username FROM member WHERE username = '$username' LIMIT 1;");

SELECT 1 实际上并没有使用数据库;它始终返回 1,因此无论 member 表的内容如何,​​您的结果始终相同。

关于php - 检查用户名是否存在sql和php中的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18803778/

相关文章:

php - mysql如何统计同一列中的不同值?

sql - 使用一个查询 SQLite 选择所有递归值

php - 使用循环形式的复选框更新 mysql 数据表

php - 是否应该在 MySQL 中使用/创建尽可能多的索引?

php - SimplePie: fatal error :调用非对象上的成员函数 set_cache_location()

Mysql性能调优

mysql - 将选择和删除查询作为单个语句

php - MySQL PDO 查询的奇怪行为

mysql - "SELECT ... LOCK IN SHARE MODE"和 "SELECT ... FOR UPDATE"是否必须位于事务内部?

php - 在PHP中使用一组Mysql结果作为比较