Код: Выделить всё
function prmstr($v){
switch(gettype($v)){
case 'integer':case 'double': return (string)$v;
case 'NULL': return 'NULL';
case 'boolean':return $v?'true':'false';
default: $v=pg_escape_string($v);return "'{$v}'";// may be redundant to use pg_escape_string
}
}
Код: Выделить всё
$p1=456;p2='A9XXP';
$qs="select * from tb where c1=$1 and c2=$2"
$qr=pg_query_params('select * from tb where c1=$1 and c2=$2',[prmstr($p1),prmstr($2)]);
Код: Выделить всё
$qr=pg_query_params('select * from tb where c1=$1 and c2=$2',prmstrA([$p1,$p2]));
Насколько я понимаю, пример тот же и для mysql.
Интересно, существует ли другой стандартный способ сделать это, или если есть встречные указания, так как много pg_escape_* .
Подробнее здесь: https://stackoverflow.com/questions/785 ... or-queries
Мобильная версия