You can ask the database to secure your table and column names, using quote_ident(), before you create the query you want to execute. You need something like this:
<?php
$table="table name"; // unsafe
$column = 'column name'; // unsafe
$result = pg_query_params($connection,
'SELECT quote_ident(CAST($1 AS text)), quote_ident(CAST($2 AS text));',
array($table, $column)
);
$table = pg_fetch_result($result, 0, 0); // safe
$column = pg_fetch_result($result, 0, 1); // safe
$sql="INSERT INTO ".$table.'('.$column.') VALUES($1);';
echo $sql;
$result = pg_query_params($connection, $sql, array('foo'));
?>
solved Prevent SQL Injection In This PHP Code