$result为空,即使查询有效


$result is empty even though the query worked?

当我运行这个sql时,我会收到一条错误消息,好像$result是空的,但查询已经运行,我的数据库也更新了?为什么$result可以为空?

$query = $mysqli->query("INSERT into `message` (customer_id, msg_headline) values ($customerId, '" . $_POST["messageHeader"] . "')");
    if(isset($_POST["orderId"])) {
        $query .= $mysqli->query("UPDATE `message` SET order_id=IF('".$_POST["orderId"]."' = '', order_id, ".$_POST["orderId"].")");
    }
    $query .= $mysqli->query("INSERT into message_content (message_id, msg) values (LAST_INSERT_ID(), '" . $_POST["messageContent"] . "')");
    $result = mysqli_multi_query($mysqli, $query);
    if ($result) {
        do 
            if (($result = mysqli_store_result($mysqli)) === false && mysqli_error($mysqli) != '') {
                $resultMessage = "Query fail: " . mysqli_error($mysqli);
            }
        } while (mysqli_more_results($mysqli) && mysqli_next_result($mysqli)); // while there are more results
        $messageValid = 1;
        $resultMessage = "Success";
    } else {
        $resultMessage = "Database was not updated: " . mysqli_error($mysqli);
    }

即使查询有效,函数也会返回最后一个$resultMessage!?

$result实际上根本不是空的。它只是没有任何东西可以显示,因为它是一个"对象"。如果您执行类似echo $result的操作,则输出将类似Resource id #4

您指示$resultmessage正在显示,我怀疑如果像您所说的那样,数据库正在更新,那么您将看到"成功"。

你期待看到什么?