我有以下查询:
$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'"
,但仍然出现相同的错误。