php - mysql php查询死了

标签 php mysql login-script

我正在创建一个登录 php 脚本,该脚本连接到一个名为 users 的 mysql 数据库,该表包含一个用户列表。我遇到了看起来像是空集或 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>';
    }
?>

最佳答案

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

改变这个:

if (mysqli_connect_errno()){  

到:

 if (mysqli_connect_errno($cxn)){ 

关于php - mysql php查询死了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19772990/

相关文章:

php - 所有 PHP 别名列表

php - 为什么即使文件不存在脚本也会继续运行?

cURL 登录到 login.live.com

php - Amazon S3 删除标记

php - 使用 MySql 保持两个远距离程序同步

php - 将外国安全主体翻译/解码为可读名称

php - 基于两个不同因素在数据库中获取最新输入的算法

mysql - 使用 nodejs 云函数将 csv 文件导入 Google CloudSQL

php - Jquery/PHP ajax登录系统

php - 错误: Strict Standards: Only variables should be passed by reference? [duplicate]