pg_query()遇到困难;在PHP中

时间:2013-10-10 10:14:36

标签: php sql postgresql

目前我正在使用Postgres和PHP。我正在编写一个用户可以填写用户的界面,因此它会被添加到数据库中用户的总记录中。 (很简单)。

最近,我在查询工作方面遇到了很多麻烦。逃避似乎一直是必需的。只是双引号之间的查询本身已经不够了。

我在使用以下查询时遇到问题;

$query = pg_query($dbconnection,"INSERT INTO clients('clientid', 'name', 'ipaddress',     'status') VALUES ('$clientid', '$name', '$ipaddress', '$status' ");

这不起作用。我想还需要更多的逃避。是否有任何第三方工具可用于检查这些postgres语法是否有效?

如果没有,我怎样才能将此查询完全转换为可用的查询?

3 个答案:

答案 0 :(得分:3)

使用pg_query_params()来处理转义并避免SQL注入:

$query = pg_query_params(
  $dbconnection,
  'INSERT INTO clients(clientid, name, ipaddress,status) VALUES ($1, $2, $3, $4);', // placeholders
   array($clientid, $name, $ipaddress, $status) // content
);

答案 1 :(得分:1)

   Try this
   $query = pg_query($dbconnection,
   "INSERT INTO clients(clientid, name, ipaddress,status) VALUES ('$clientid', '$name', '$ipaddress', '$status' ");

答案 2 :(得分:1)

$query = pg_query($dbconnection, "INSERT INTO clients(clientid, name, ipaddress,status) VALUES ('$clientid', '$name', '$ipaddress', '$status')");

应该做的工作。请注意VALUES之后的字段名称和右括号周围没有引号。