我无法从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]);
$fields = implode(", ",$func_get_args);
echo $query = "SELECT $fields FROM users WHERE user_id = '$user_id'";
print_r(mysqli_query($connect, $query));
return $data = mysqli_fetch_assoc(mysqli_query($connect, $query));
}
}
为了测试查询是否正确,我回答了查询并得到了:
SELECT user_id, username, password, first_name, last_name, email FROM users WHERE user_id = '1'.
直接将它输入phpMyadmin,它产生了我之后的结果。但是在我的代码中,我的print_r
语句中没有返回任何内容。
$session_user_id = $_SESSION['user_id'];
$user_data = user_data($_SESSION['user_id'], 'user_id', 'username', 'password', 'first_name', 'last_name', 'email');
echo $user_data['username'];
这些是用于调用该函数的代码行。我在同一文档的其他功能中使用了mysqli_query($connect, $query)
,他们都设法返回正确的结果,所以我很困惑为什么我在这里所做的事情并非如此。什么都没有。任何帮助将不胜感激:))