我有以下代码片段。它在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