变量 $mysqli->result 出错,我根本无法访问


Error on variable $mysqli->result which I don't access at all yet

我收到此错误:

可捕获的致命错误:类 mysqli_result 的对象无法在第 50 行的 J:''xampp''htdocs''components''bo_testedit.php 中转换为字符串

这是在第 50 行bo_testedit.php

ExecSQL (__FILE__, $mysqli, "DELETE FROM question_assign WHERE id_question = {$id}");

这是在functions_db.php

function ExecSQL ($scriptparent, $mysqli, $query) {
    $mysqli->query ($query);
    if ($mysqli->error != "") { DBErrorLogger ($scriptparent, $mysqli->error, $query); return $mysqli->error; }
    return true;
}

这也是在functions_db.php

function DBErrorLogger ($functionname, $error, $query = "") {
    $logmessage = "<br>Functions_db.php:'nFunction <strong>{$functionname}</strong> raised error:<br>'n{$error}";
    if ($query != "") $logmessage = $logmessage . "<br>'nwhile executing this query: 'n<strong>{$query}</strong>";
    Logger ($logmessage);
}

我从谷歌搜索中学到的知识来看,发生此错误是因为我想将对象$mysqli->result存储到字符串类型变量中。在这里困扰我的一件事是,我没有在所有这些代码中访问$mysqli->result。为什么它会返回这样的错误消息?我确实在bo_testedit.php的另一行中访问了它,但它们似乎很好(返回正确的结果(。此错误中的行号是否可能不正确(即引用另一行(?

编辑:很抱歉回复太长。尽管我做了任何事情,问题仍然存在了几天,但后来问题突然消失了,尽管我没有做任何事情。我仍然不知道问题出在哪里,但我确实希望它永远不会再回来。谢谢,对不起。

$query = "DELETE FROM question_assign WHERE id_question = ?";
if ($stmt = $mysqli->prepare($query)) {   
    $stmt->bind_param('i', $id);
    /* execute query */
    $stmt->execute();    
    /*Count the rows*/
    if($stmt->num_rows > 0){
       echo 'It worked !';
    }else{
      var_dump($mysqli->error);
      die();
    }   
    /* close statement */
    $stmt->close();
}   
/* close connection */
$mysqli->close();