Php 检查数据库表中是否存在不工作的行

Php 检查数据库表中是否存在不工作的行,php,sql,database,select,Php,Sql,Database,Select,下面的代码用于检查数据库中是否已经存在用户。如果用户存在,则应将该用户重定向到故障页面 我尝试了下面的代码,但它不起作用。如果用户名已存在,则返回失败部分 if($Username!="" && $Password!="") { $checkusername = mysql_query("SELECT * FROM members WHERE username='$username'"); if(mysql_num_rows($checkusername) &g

下面的代码用于检查数据库中是否已经存在用户。如果用户存在,则应将该用户重定向到故障页面

我尝试了下面的代码,但它不起作用。如果用户名已存在,则返回失败部分

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' ) ;
    }
}
如何测试数据库表中是否存在具有特定值的行

if($Username!="" && $Password!="")
{
    $checkusername = mysql_query("SELECT * FROM members WHERE username='$username'");
变量区分大小写,
$username
在您的选择中应该是
$username


在像这样将
$Username
$Password
插入SQL字符串之前,请确保正确转义它们的值,否则可能会导致SQL注入问题。更好的方法是使用
MySQLi
PDO
获得真正的参数化查询。

错误的逻辑和变量是不同的

您需要
$Username!=“”
并在查询中使用
$username


PHP是区分大小写的。

您看到了什么错误?
$username
$username
不同如果这是您的确切代码,那么($username!=“”&&&&$Password!=“”)就缺少了大括号{}//endone@gayan大括号在下一行。您也应该检查mysql查询,第一个是使用username='$username'..筛选结果。。。。(简单字符)并插入使用首字母大写的查询成员(用户名、密码)。不过,最好改为
mysqli
,因为
mysql
很快就会被弃用。