2014-09-04 80 views
-4

爲什麼不做這項工作?可捕捉的致命錯誤:類mysqli_result的對象無法轉換爲字符串,我無法找到它

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); 

    } 
} 

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

+1

你傳遞給'user_data()'的參數是什麼?你在哪裏使用'$ row'?哪一行顯示此錯誤(這是調試的關鍵)? – 2014-09-04 17:55:47

+1

'可捕捉的致命錯誤:類mysqli_result的對象不能轉換爲字符串'也有行號,它是什麼? – 2014-09-04 17:59:07

+0

它是關於 - $ res = mysqli_query($ con,「SELECT $ fields as velden FROM'users' WHERE'user_id' ='$ user_id'」); – 2014-09-04 17:59:57

回答

1

此錯誤幾乎總是意味着查詢失敗,因此請檢查查詢。

試試這個:

$fields = '`' . implode('`, `', $func_get_args) . '`'; 
$sql = "SELECT $fields as velden FROM `users` WHERE `user_id` = '$user_id'"; 
echo $sql; 

現在,如果誤差是不明顯的眼睛,複製查詢並在phpMyAdmin運行它或任何工具,你用它來管理你的數據庫。

如果您的$fields陣列中存在多個字段,幾乎可以肯定這部分查詢會導致錯誤。 SELECT $fields as velden請嘗試刪除as velden

相關問題