mysql php查询死了

时间:2013-11-04 17:02:29

标签: php mysql login-script

我创建了一个登录php脚本,该脚本连接到一个mysql数据库,其中包含一个名为users的表,其中包含一个用户列表。我遇到了一个空集或mysql错误。

我已经包含了一个连接错误回显和一个查询回显,并且该脚本正在回显后一个错误,该错误为我提供了查询字符串。我在phpMyAdmin中运行这个确切的查询并得到我期望的结果(它返回用户)。

为什么要死?

$ cxn是在登录页面上定义的,该页面将此帖子调用到此页面

$pass = addslashes($_POST['password']);
$email = addslashes($_POST['username']);
$pw = md5($_POST['password']);


$query = "SELECT * FROM `users` WHERE (`user_email`='$email' AND `user_pass`='$pw')" ;


if (mysqli_connect_errno()){         
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}                               

$result = mysqli_query($cxn,$query) or die(mysqli_error($cxn)."Query= ".$query);

我离开了第一个版本。这是当前的化身,具有相同的结果。

    <?php

    $email = ($_POST['username']);
    $pw = md5($_POST['password']);

    $query = "SELECT * FROM `users` WHERE (`user_email`='$email' AND `user_pass`='$pw')" ;

    if (mysqli_connect_errno($cxn)){          //remove later
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }                                  //to here

    $result = mysqli_query($cxn,$query) or die(mysqli_error($cxn)."Query=".$query);

    echo '<hr>';
    echo $result;
    while($row = mysql_fetch_array($result)){
        echo $row['user_email'];
        echo '<hr>';
        echo $row['user_pass'];
        echo '<hr>';
        echo $row['user_fname'];
        echo '<hr>';
    }
?>

2 个答案:

答案 0 :(得分:0)

因为您在检查连接时没有传递$cxn变量:

改变这个:

if (mysqli_connect_errno()){  

为:

 if (mysqli_connect_errno($cxn)){ 

答案 1 :(得分:0)

我刚注意到这一点,但你有以下内容:

$email = ($_POST['username']);

这应该是简单的:

$email = $_POST['username'];

另外,尝试编写这样的查询:

$query = "SELECT * FROM `users` WHERE `user_email` = '".$email."' AND `user_pass` = '".$pw."'";