Я пытаюсь сделать UPDATE и SELECT в том же sql-заявлении. По какой-то причине приведенный ниже код не работает.Обновление и выбор MySQL в одном заявлении
$sql = "UPDATE mytable SET last_activity=CURRENT_TIMESTAMP,
info1=:info1, info2=:info2 WHERE id = {$id};";
$sql .= "SELECT id, info1, info2 FROM myTable
WHERE info1 >=:valueA AND info2>:valueB;"
$stmt = $conn->prepare($sql);
$stmt->bindParam(":info1", $info1);
$stmt->bindParam(":info2", $info2);
$stmt->bindParam(":valueA", $valueA);
$stmt->bindParam(":valueB", $valueB);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($result);
ВОПРОС:, что я мог бы делать неправильно? Я тратил часы на этот вопрос, зная, что это, вероятно, небольшая ошибка прямо под моим носом.
Отредактировано:
Я получил сообщение об ошибке при загрузке страницы, которая содержит код PHP:
неперехваченное исключение 'PDOException' с сообщением «SQLSTATE [HY000]: Общая ошибка 'в ajaxCall.php: 89 Трассировка стека: # 0 ajaxCall.php (89): PDOStatement-> fetchAll (2) # 1 {main} брошен в ajaxCall.php в строке 89
Я использую ajax для вызова php-страницы, содержащей указанный выше код, и когда я загружаю php-страницу из браузера, я получаю вышеуказанное сообщение об ошибке.
Line 89: $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
Вы получаете сообщение об ошибке? Почему бы не связать '$ id'? – chris85
@ chris85 $ id получается из $ _SESSION, никогда не получаемого от пользователя.Я сейчас проверю ошибку. и $ valueA была написана с ошибкой здесь, это было хорошо в коде – Webeng
вы начали сеанс? это в свете нового кода в комментариях. Вы также отметили как ajax, почему? любая релевантность? –