我注意到,這兩種方法構造使用PHP PDO的查詢,兩者都返回相同的數據。將值數組提交給使用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"));
我認爲我能夠多值提交查詢這樣的方法都沒有工作。我怎樣才能做到這一點?
謝謝
通過向查詢添加兩個佔位符,而不是一個? –
@YourCommonSense你能更具體地說明這些應該如何綁定?在執行之前,我是否需要知道查詢中要使用多少個值?例如,如果我想返回'$ w_ft = array(「48」,「36」,「12」)'的結果呢?謝謝 – 1252748