我有以下代碼片段。它在phpmyadmin的sql界面中執行時有效,但是當我在服務器上執行它時$stmt = $con->prepare($sql)
總是返回false,並退出時顯示錯誤。MySQL語句適用於phpmyadmin,但不適用於代碼
請注意$stmt = $con->prepare($sql)
不會返回錯誤消息。恐怕我也可能在這裏做錯了什麼?
我想我錯過了重要的東西在這裏!
另外,Update語句在我修改它之前正確地工作,以返回逗號分隔的更新ID列表。
$sql = "SET @uids := null;
UPDATE userpicks, brackets
SET userpicks.player1 = ?, userpicks.pick = ?
WHERE userpicks.id_user = ? AND userpicks.id_tournament = ? AND brackets.stage > ? AND userpicks.player1 = ?
AND (SELECT @uids := CONCAT_WS(',', brackets.id, @uids));
SELECT @uids;";
if ($stmt = $con->prepare($sql)) {
$stmt->bind_param('iiiiii', $noPlayerID, $noPlayerID, $_SESSION ["id"], $id_tournament, $bracket_stage, $id_player);
} else {
echo mysqli_error($con);
return getJSONArrayError("Error occurred");
}
你沒有在你的代碼中執行你的查詢。 –
得到真正的錯誤http://php.net/manual/en/mysqli.error.php應該有什麼,當你執行它 –
查詢只執行如果準備成功。我已經迴應了「真實」的錯誤,但它是空的。 – Markus