Php 我对mysqli_fetch_assoc()和mysqli_result有问题,我在下面发布了我的代码

Php 我对mysqli_fetch_assoc()和mysqli_result有问题,我在下面发布了我的代码,php,jquery,function,mysqli,Php,Jquery,Function,Mysqli,我需要一些检查此功能的帮助,提前感谢您的帮助: function user_data($user_id) { $data = array(); $user_id = (int)$user_id; $func_num_args = func_num_args(); $func_get_args = func_get_args(); if ($func_num_args > 1) { unset($func_get_args[0]

我需要一些检查此功能的帮助,提前感谢您的帮助:

function user_data($user_id) {
     $data = array();
     $user_id = (int)$user_id;

    $func_num_args = func_num_args();
    $func_get_args = func_get_args();

    if ($func_num_args > 1) {
        unset($func_get_args[0]);
        $fields = '`' . implode('`, `', $func_get_args) . '`';
        $data = mysqli_fetch_assoc(mysqli_result ("SELECT $fields FROM 'users' WHERE 'user_id' = $user_id"));

    print_r($data);
    die();

    return $data;
    }
}

如果您打算返回与用户id相关的行,则只需删除其他函数:

function user_data($user_id) {

    $data = array();
    $user_id = (int) $user_id;
    $con = new mysqli('localhost', 'username', 'password', 'database');
    $user_id = $con->real_escape_string($user_id);
    $sql = "SELECT * FROM users WHERE user_id = '$user_id' ";
    $query = $con->query($sql);
    if($query->num_rows > 0) {
        $data = $query->fetch_assoc();
    }

    return $data;
}
您对
func\u get\u args
的使用没有意义,因为您只是在使用前将其取消设置。并去掉查询中的单引号


标识符引号是反勾号。或者干脆删除它们。

他们尝试在查询中转义变量。 结果它返回null。因此,查询没有执行

   $data = mysqli_fetch_assoc(mysqli_result ("SELECT "+$fields+" FROM 'users' WHERE 'user_id' = "+$user_id+""));

你要告诉我们你的问题是什么吗?它必须处理mysqli_fetch_assoc和mysqli_result,我总是得到这样的错误:mysqli_fetch_assoc()期望参数1是mysqli_result,给定null。我的代码似乎有什么问题?@user3543728很高兴这有帮助