Php 若数据库中存在用户名,则用户名应唯一,然后返回错误
我正在处理一个项目,我想根据用户检查登录凭据。当一个新用户登录时,若数据库中存在用户名,那个么将产生一个错误Php 若数据库中存在用户名,则用户名应唯一,然后返回错误,php,mysql,Php,Mysql,我正在处理一个项目,我想根据用户检查登录凭据。当一个新用户登录时,若数据库中存在用户名,那个么将产生一个错误 username exist 代码: include('connect.php'); $query = mysql_query("SELECT * FROM users WHERE user_name = '". $user_name ."' "); if (mysql_num_rows($query) > 0) { echo 'U
username exist
代码:
include('connect.php');
$query = mysql_query("SELECT * FROM users WHERE user_name = '". $user_name ."' ");
if (mysql_num_rows($query) > 0)
{
echo 'Username already in use please try another.';
}
else{
$opt=$obj->addStudent($user_name,$user_pass,$user_email,$user_contact);
}
}
我想检查忽略区分大小写也
include('connect.php');
$query = mysql_query("SELECT * FROM users WHERE UPPER(user_name) = '". mysql_real_escape_string(strtoupper($user_name)) ."' ");
if (mysql_num_rows($query) > 0)
{
echo 'Username already in use please try another.';
}
else{
$opt=$obj->addStudent($user_name,$user_pass,$user_email,$user_contact);
}
}
这样用户名:XyZ将与XyZ相同使用更快的代码进行唯一名称测试
include('connect.php');
$query = mysql_query("SELECT `user_name` FROM users WHERE LOWER(user_name) = LOWER(". $user_name .")");
if (mysql_num_rows($query) > 0)
{
echo 'Username already in use please try another.';
}
else{
$opt=$obj->addStudent($user_name,$user_pass,$user_email,$user_contact);
}
好的…我读了你写的…现在。。。你的问题是什么???阅读有关SQL注入的内容也…-另外,
mysql\uuuu
已成为历史…阅读mysqli\uu
或PDO
这可能有助于在测试之前转换大小写。从逻辑上讲,这个答案是正确的…但您的解决方案非常容易sql注入
…请注意!!:)我百分之百同意,但我只是回答业主必须申请卫生设施string@NoobEditorinjunction部分解决了如何决定代码中需要什么样的安全性mysql\uz
仍然不安全,但yes负责回答OP的问题!!:)这“更快”是怎么回事?select*和select列名的毫秒差异决定了是否匹配。