以下代码用于检查用户是否已存在于数据库中。如果用户存在,则应将用户重定向到失败页面。
我已经尝试过以下代码,但它不起作用。如果用户名已存在,则失败部分。
if($Username!="" && $Password!="")
{
$checkusername = mysql_query("SELECT * FROM members WHERE username='$username'");
if(mysql_num_rows($checkusername) > 0)
{
header( 'Location: accountfail.php' ) ;
}
else
{
$query=mysql_query("INSERT INTO members (Username,Password) VALUES ('$Username','$Password')");
header( 'Location: accountcreatesucces.php' ) ;
}
}
如何测试具有特定值的数据库表中是否存在行?
答案 0 :(得分:2)
if($Username!="" && $Password!="")
{
$checkusername = mysql_query("SELECT * FROM members WHERE username='$username'");
变量区分大小写,$username
在您的选择中应为$Username
。
确保在将$Username
和$Password
插入这样的SQL字符串之前正确转义MySQLi
和PDO
的值,否则可能会导致SQL注入问题。更好的是,使用{{1}}或{{1}}来获取真正的参数化查询。
答案 1 :(得分:0)
错误的逻辑和变量不一样。
您执行$Username != ""
并在查询中使用$username
。
PHP区分大小写。