У меня есть следующий запрос 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
Любая рекомендация?






Решение: Заменить все '?' символы для '$', кроме? требуется в синтаксисе 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));
Этот сайт github.com/metabase/metabase/issues/1964 предлагает вам использовать "??" вместо этого драйвер PostgresJDBC внесет соответствующие изменения.