首页 > 解决方案 > mysqli_query 有问题,返回 NULL 但查询在 phpmyadmin 中有效

问题描述

当用户从 iOS 应用程序发送登录命令时,我正在尝试从数据库中检索信息。为了测试这个功能,我手动启动我的 php 页面(例如http://www.testdatabase.com/LoginFunctions.php)并以编程方式强制用户名。

问题是 mysqli_query 返回 NULL 值。如果我使用“或死(mysql_error()”没有任何反应。即使我使用mysqli_num_rows返回1,但$result仍然是空的。所以当mysql_fetch_assoc被执行时,程序崩溃而没有显示任何错误。知道吗?谢谢

<?php
    // Create connection
    $con=mysqli_connect("localhost","super","super","testdb");

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

    $action = "login";
    $username = "Peperoncino";
    $response = array();

    if ($action == "login")
    {
        $query = "SELECT psw AS pswrd,id FROM Activities WHERE nome = 'Peperoncino' LIMIT 1";

        if ($result = mysqli_query($con, $query))
        {
            $values = mysql_fetch_assoc($result);
            $password = $values['pswrd'];
            $response["password"] = $password;
            $response["message"] = "Get information from db";
        }
        else
        {
            echo "err";
        }

        echo json_encode($response);
    }

    // Close connections
    mysqli_close($con);
?>

标签: phpmysql

解决方案


您正在使用已弃用的 mysql_fetch 函数。使用新的

<?php
    // Create connection
    $con=mysqli_connect("localhost","super","super","testdb");

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

    $action = "login";
    $username = "Peperoncino";
    $response = array();

    if ($action == "login")
    {
        $query = "SELECT psw AS pswrd,id FROM Activities WHERE nome = 'Peperoncino' LIMIT 1";

        if ($result = mysqli_query($con, $query))
        {
            $values = mysqli_fetch_assoc($result);
            $password = $values['pswrd'];
            $response["password"] = $password;
            $response["message"] = "Get information from db";
        }
        else
        {
            echo  mysqli_error($conn);  
        }

        echo json_encode($response);
    }

    // Close connections
    mysqli_close($con);
?>

推荐阅读