目前我正在使用 Postgres 和 PHP。我正在编写一个用户可以在其中填写用户的界面,因此它会添加到数据库中的用户总记录中。 (非常简单)。
最近我在使查询正常工作时遇到了很多麻烦。似乎总是需要逃避。仅双引号之间的查询本身已经不够了。
我在处理以下查询时遇到问题;
$query = pg_query($dbconnection,"INSERT INTO clients('clientid', 'name', 'ipaddress', 'status') VALUES ('$clientid', '$name', '$ipaddress', '$status' ");
这行不通。我想还需要更多的逃避。是否有任何第三方工具可用于检查这些 postgres 语法是否有效?
如果不是,我怎样才能将这个查询准确地变成一个可用的查询?
最佳答案
使用pg_query_params()处理转义并避免 SQL 注入(inject):
$query = pg_query_params(
$dbconnection,
'INSERT INTO clients(clientid, name, ipaddress,status) VALUES ($1, $2, $3, $4);', // placeholders
array($clientid, $name, $ipaddress, $status) // content
);
关于php - 对 pg_query() 有困难;在 PHP 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19293045/