查询失败

时间:2016-03-07 17:37:09

标签: php mysql

我正在尝试插入会话并回显如果登录名,密码和状态为1,那么如果它正确则会插入其会话,如果错误则回显消息但查询失败,请感谢任何帮助!

if(isset($submit))
    {

        $query=mysql_query("select * from mst_user where login='$loginid' and pass='$pass' AND status IS 1");
        $result_check_credentials = mysql_query($query);
        if(!$result_check_credentials){//If the QUery Failed 
            echo 'Query Failed ';
        }

        if (@mysql_num_rows($result_check_credentials) == 1)
            {

                $_SESSION[login]=$loginid;
                echo " working";
            }
        else
            {
                echo 'sads';
            }
    }
if (isset($_SESSION[login]))
    {
        echo 'welcome'
            }
exit;
?>

3 个答案:

答案 0 :(得分:0)

我会假设你还在学习,但请切换到PDO甚至是mysqli。很多教程都在那里。

但是回答你的问题是$ query定义了吗?

例如: $ query = mysql_connect(' example.com:3307',' mysql_user',' mysql_password');

答案 1 :(得分:0)

status IS 1应为status = 1IS只能用作IS NULLIS NOT NULL的一部分,它不是一般的等式运算符。

另一个问题是:

$result_check_credentials = mysql_query($query);

mysql_query()的参数必须是字符串,但$query是调用mysql_query()的结果,因此您无需再次调用它。将上一行更改为:

$query = "select * from mst_user where login='$loginid' and pass='$pass' AND status = 1";

其他问题:

  • 当查询失败时,您应该退出代码,而不是转到调用mysql_num_rows()的代码。

  • $_SESSION[login]应为$_SESSION['login']

答案 2 :(得分:0)

你在这做什么?:

$query = mysql_query("select * from mst_user where login='$loginid' and pass='$pass' AND status IS 1");
$result_check_credentials = mysql_query($query);

您正在执行查询,然后尝试重新执行查询的结果

只需执行一次查询。返回的值将是该查询的结果。在这种情况下,mst_user表中的记录为零或更多。 (如果查询失败,则为false。)