update join pdo

программирование php MySQL sql pdo

Здравствуйте!

Помогите найти ошибку. Отдельный запрос напрямую в базе, работает, а в pdo не хочет. Где моя ошибка?

Вот такой код:

$sql54 = $db->prepare("
UPDATE
`victory_groups`
JOIN
`user_groups`
ON
`victory_groups`.`group_id_grpvctr` = `user_groups`.`group_id_usgrp`
JOIN
`victory_user`
ON
`user_groups`.`user_usgrp` = `victory_user`.`user_id_usvctr`
SET
`victory_groups`.`games_grpvctr` = + :games_grpvctr_54,
`victory_groups`.`wins_grpvctr` = + :wins_grpvctr_54,
`victory_user`.`games_usvctr` = + :games_usvctr_54,
`victory_user`.`wins_usvctr` = + :wins_usvctr_54
WHERE
`victory_user`.`user_id_usvctr` = user_id_usvctr_54;");
$games_grpvctr_54 = $row53['id_atq'] + $row13['id_atq'];
$wins_grpvctr_54 = $row13['id_atq'];
$games_usvctr_54 = $row53['id_atq'] + $row13['id_atq'];
$wins_usvctr_54 = $row13['id_atq'];
$user_id_usvctr_54 = $_SESSION['id_username'];
$sql54->bindParam(':games_grpvctr_54', $games_grpvctr_54, PDO::PARAM_INT);
$sql54->bindParam(':wins_grpvctr_54', $wins_grpvctr_54, PDO::PARAM_INT);
$sql54->bindParam(':games_usvctr_54', $games_usvctr_54, PDO::PARAM_INT);
$sql54->bindParam(':wins_usvctr_54', $wins_usvctr_54, PDO::PARAM_INT);
$sql54->bindParam(':user_id_usvctr_54', $user_id_usvctr_54, PDO::PARAM_INT);
$sql54->execute();

Спасибо!

Примечание:
Нашел в чем ошибка.

Вместо вот этого:
`victory_groups`.`games_grpvctr` = + :games_grpvctr_54

Нужно было вот так написать:
`victory_groups`.`games_grpvctr` = `victory_groups`.`games_grpvctr` + :games_grpvctr_54

Теперь все работает замечательно!
Ответы:
Ошибку саму тоже напишите


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.