ORA-01722: неверный номер, SQL в предложении - PullRequest
0 голосов
/ 18 апреля 2019

У меня следующий запрос:

$query = "delete from document where document_lientype =:lienType and document_lienid =:lienId and document_id not in (:docsIds)";
$params = array(
    'lienType' => $lienType,
    'lienId'   => $lienId,
    'docsIds'  => implode(',',$docsIds)
);

Когда я сбрасываю $docsIds, я получаю:

array(3) {
  [0] =>
  int(19357)
  [1] =>
  int(19358)
  [2] =>
  int(19378)
}

И когда я сбрасываю implode(',',$docsIds), я получаю:

string(17) "19357,19358,19378"

Когда я запускаю запрос в своем проекте, я получаю ошибку ORA-01722: invalid number, которая означает, что он не может преобразовать docsIds в целые числа.

Когда я запускаю запрос в TOAD,выполняется правильно;поэтому проблема возникает из этого in предложения.

Я пытался создать строку всеми возможными способами, в том числе: "'19357','19358','19378'", но все равно получаю ту же ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...