У меня есть следующий фрагмент кода. Он работает, когда выполняется в интерфейсе sql phpmyadmin, но когда я выполняю его на сервере, $stmt = $con->prepare($sql)
всегда возвращает false, и я выхожу с ошибкой.Оператор MySQL работает в phpmyadmin, но не в коде
Отметьте, что $stmt = $con->prepare($sql)
не возвращает сообщения об ошибках. Боюсь, что я тоже могу сделать что-то неправильно?
Я предполагаю, что у меня что-то важное отсутствует!
Также оператор Update работал правильно, прежде чем я его изменил, чтобы вернуть список обновленных идентификаторов, разделенных запятыми.
$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