使用字符“?”在SQL查询中的codeigniter

时间:2018-09-18 14:47:00

标签: php postgresql codeigniter-3

我有以下SQL查询,我想使用“?”因为postgres 9.5语法需要它,所以问题在于默认情况下codeigniter使用该符号替换SQL查询中的值。

SELECT codigo, descr, ( select count(*) from "mi_tabla_2" where coddoc::jsonb ? codigo and coddep = '100' and codserie = '50' and codsubserie = '25' ) as check FROM "mi_tabla_1" WHERE std = TRUE

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

解决方案: 全部替换 '?' '?'以外的字符Postgres语法中必需的

$ this-> db-> bind_marker ='$'; //此行更改将字符替换为'$'

例如

$this->db->bind_marker = '$';
$sql = "select count(*) from mi_tabla_2 where coddoc::jsonb ? codigo and coddep = $ and codserie = $ and codsubserie = $";
$this->db->query($sql,array($param1,$param2,$param3));