我注意到这两种使用 PHP PDO 构建查询的方式都返回相同的数据。
//prepare with $dbh->prepare
$w_ft = "36";
$sth = $dbh->prepare("SELECT * FROM main_products_common_dimensions WHERE w_ft = :w_ft");
$sth->bindParam(':w_ft', $theId, PDO::PARAM_INT);
$sth->execute();
$result = $sth->fetchAll(); //PHP array of data
//prepare with pg_prepare()
$result = pg_prepare($con, "my_query", 'SELECT * FROM main_products_common_dimensions WHERE w_ft = $1');
$result = pg_execute($con, "my_query", array("48")); //A query result resource on success or FALSE on failure.
while ($row = pg_fetch_assoc($result)){
echo $row['w_ft'] . "<BR>";
}
我在http://php.net/manual/en/function.pg-execute.php读到第二种方式返回“成功时的查询结果资源或失败时的 FALSE”。所以我尝试用 pg_fetch_assoc() 遍历它。它可以工作,但是它没有与其他pg_
sql 函数一起被弃用吗?我应该在 PDO 中使用某些东西来查看查询结果吗?
出于这个原因,我倾向于在使用 PDO 时使用第一种方法。这是常态吗?
我的问题是如何向任一方法提交多个值。当我尝试将数组提交到准备好的语句时,这两种方法都不起作用
$w_ft = array("48", "36");
$result = pg_execute($con, "my_query", array("48", "36"));
我认为我能够以这种方式向查询提交多个值。我怎样才能做到这一点?
谢谢