Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 可捕获的致命错误:类mysqli_result的对象无法转换为字符串,我找不到它_Php - Fatal编程技术网

Php 可捕获的致命错误:类mysqli_result的对象无法转换为字符串,我找不到它

Php 可捕获的致命错误:类mysqli_result的对象无法转换为字符串,我找不到它,php,Php,为什么这样不行 function user_data($user_id) { global $con; $user_id = $_SESSION['user_id']; $func_num_args = func_num_args(); $func_get_args = func_get_args(); if ($func_num_args > 1) { unset($func_get_args[0]); $fi

为什么这样不行

function user_data($user_id) {
    global $con;
    $user_id = $_SESSION['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) . '`';
        $res = mysqli_query($con, "SELECT $fields as velden FROM `users` WHERE `user_id` = '$user_id'");
        $row = mysqli_fetch_array($res);

    }
}

我搜索了很多,但找不到修复程序。

此错误几乎总是意味着查询失败,因此请检查查询

试试这个:

$fields = '`' . implode('`, `', $func_get_args) . '`';
$sql = "SELECT $fields as velden FROM `users` WHERE `user_id` = '$user_id'";
echo $sql;
现在,如果错误不明显,请复制查询并在phpmyadmin或任何用于管理数据库的工具中运行它


如果$fields数组中有多个字段,几乎可以肯定,查询的这一部分将导致错误。选择$fields作为velden,然后尝试删除as-velden。

将哪些参数传递给用户数据?您在哪里使用$row?哪一行显示此错误是调试的关键?可捕获的致命错误:类mysqli_result的对象无法转换为字符串还有一个行号,它是什么?它是关于-$res=mysqli_query$con,选择$fields作为用户的velden,其中user_id='$user_id';尝试打印查询,可能其中有错误。为什么要将$user\u id作为函数的参数,然后扔掉传递的值并从会话中获取它?您如何调用用户_数据?你要传递什么参数?另外,错误告诉您$fields或$user_id实际上是一个mysqli_结果对象,而不是字符串。