的MySQL与PDO BETWEEN准备语句

问题描述:

我是相当新的使用PDO,现在有涉及BETWEEN声明并不能看到怎么办准备的语句进行这样的查询 - 这里是代码的MySQL与PDO BETWEEN准备语句

try { 
include("../epsadmin/connectpdo.php"); 
$sql="SELECT * FROM properties 
WHERE location LIKE :location 
AND bedrooms LIKE :bedrooms 
AND category LIKE :category 
AND price BETWEEN :minPrice and :maxPrice 
ORDER BY postcode"; 

$stmt = $pdo->prepare($sql); 
$stmt->bindParam(':location', $_REQUEST['location'], PDO::STR); 
$stmt->bindParam(':bedrooms', $_REQUEST['bedrooms'], PDO::STR); 
$stmt->bindParam(':category', $_REQUEST['category'], PDO::STR); 
//bindParam for price BETWEEN minPrice and MaxPrice needed 
$stmt->execute(); 
$total = $stmt->rowCount(); 
$obj = $stmt->fetchObject(); 
}//end try 
catch(PDOException $error) { 
$send='DB Query failed: ' . $error->getMessage(); 
header("Content-type: text/plain"); 
echo $send; 
exit; 
} 

莫非有谁请与所需的bindParam声明恳求帮助

感谢名单

鲍勃

+0

您忘记了'ORDER BY postcode'后的结束报价 –

+3

是'$ stmt-> bindParam(':minPrice',$ _REQUEST ['minPrice']);'和'$ stmt-> bindParam(':maxPrice' ,$ _REQUEST ['maxPrice']);'不工作? –

+0

你有什么问题吗? – Jens

如何做准备的语句,涉及一BETWEEN语句

E中的查询X为C T Lý相同的方式与任何其它的查询:通过添加必要的占位符到查询,然后通过使用bindParam方法结合它们。

+0

可能不是你的意图,但它看起来像一个钝的答案 – PerroVerd