Ошибка ORA-01747, обновить базу данных с помощью входов - PullRequest
1 голос
/ 08 марта 2019

Я пытаюсь обновить свою базу данных с помощью входных данных, но она возвращает мне ORA-01747: неверный user.table.column, table.column или спецификация столбца. Я не профессионал с SQL, но я не вижу ошибок в моем сценарии. Я проверил, имя столбца точно так же, как моя база данных.

Кто-нибудь как идея?

public function updateDepotMethodQuanti($params) {

    $sQuery = 'UPDATE depot 
        SET  
            depot.METHOD_SUPV = :0,
            depot.CODE_ETAB_RGLT = :3,
            depot.DATE_RGLT = :4,
            depot.MONTANT_RGLT = :5,
            depot.NUMERO_RGLT = :6,
            depot.COMMENTAIRE = :7,
            depot.BT_COMM_FACTU = :2,
        WHERE depot.ID_DEPOT = :1';

    // mise à jour method_supv
    $mResult1 = $this->executeQueries($sQuery,array($params['newMethodQuanti'], $params['idDepot'], $params['checkCommentaire'], $params['codeEtabliReglement'],
            $params['dateReglement'], $params['montant'], $params['numReglement'], $params['motifChangement']
            ));

    if ($mResult1 !== false) {
        $this->commit();
    } else {
        $this->rollback();
    }
}

Функция executeQueries - это функция, позволяющая использовать такие клавиши, как depot.METHOD_SUPV = :0,

Мои журналы:

2019-03-08T11:35:25+01:00 ERR (3): Exception : array (
'code' => 1747,
'message' => 'ORA-01747: sp�cification utilisateur.table.colonne,table.colonne ou colonne non valide',
'offset' => 337,
'sqltext' => 'UPDATE depot 
        SET  
            depot.METHOD_SUPV = :0,
            depot.CODE_ETAB_RGLT = :3,
            depot.DATE_RGLT = :4,
            depot.MONTANT_RGLT = :5,
            depot.NUMERO_RGLT = :6,
            depot.COMMENTAIRE = :7,
            depot.BT_COMM_FACTU = :2,
        WHERE depot.ID_DEPOT = :1',
 )
 2019-03-08T11:35:25+01:00 ERR (3): Error parameter : array (
  0 => '2',
  1 => '22781811',
  2 => '1',
  3 => '542252',
  4 => '2019-02-25',
  5 => '42542',
  6 => '2452',
  7 => 's<fsdfsdf',
)

1 Ответ

0 голосов
/ 08 марта 2019

Удалить запятую здесь:

        depot.BT_COMM_FACTU = :2,     --> here
    WHERE depot.ID_DEPOT = :1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...