在PHP和Postgres中使用pg_query_params传递DESC或ASC

时间:2016-04-13 15:09:57

标签: php postgresql pg-query

$query = "SELECT field1, field2, field3, date_created, id FROM database WHERE field1 LIKE $1 OR field2 LIKE $1 ORDER BY date_created $2 LIMIT $3 OFFSET $4";
$result = pg_query_params($this->pgConnect($this->database_conn_string),     $query, array('%' . $this->input . '%', $this->order, $this->numberOfItems, $this->selectField1FromDatabaseSearchOffset()));
return $result;

我没有得到任何有用的错误,只是错误是2美元,它将被设置为DESC或ASC。如果我停止尝试传递这个错误就会消失#&# 39;显然这是一个以这种方式传递顺序的问题但是我不知道为什么以及如何以安全的方式做到这一点。该值来自url参数,通过' htmlspecialchars'然后传递给了这个。

更新 - 应该提一下,如果我把它直接放在$ query中就行了,比如:

$query = "SELECT field1, field2, field3, date_created, id FROM database WHERE field1 LIKE $1 OR field2 LIKE $1 ORDER BY date_created $this->order LIMIT $2 OFFSET $3";

虽然我不认为这是一种安全的方法,但不是很一致!

0 个答案:

没有答案