当我运行这个SQL时,我收到一条错误消息,好像$ 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,即使查询有效!?
答案 0 :(得分:0)
$result
实际上根本不是空的。它只是没有任何东西可以显示,因为它是一个对象'。如果您执行echo $result
之类的操作,则输出看起来像Resource id #4
您表示正在显示$resultmessage
,我怀疑如果正如您所说,数据库正在更新,那么您将看到"成功"。
你期待看到什么?