当我运行这个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
正在显示,我怀疑如果像您所说的那样,数据库正在更新,那么您将看到"成功"。
你期待看到什么?