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很高兴这有帮助