[英]Using the WHERE clause and not filtering a thing
存在WHERE子句可以幫助我們過濾結果,我從用戶那里得到了一個值,該值告訴我如何過濾結果,例如
WHERE brand="'$brand_that_chosen_by_user'"
選項之一是每個品牌,這意味着根本不要過濾。 因此,$ brand_that_chosen_by_user需要具有什么值,以便WHERE子句不會過濾任何內容並返回All brand結果。
在添加where子句之前,您將首先測試他們是否選擇了ALL值。
$sql = " SELECT * FROM tbl";
if($brand != 'ALL'){
$sql .= " WHERE brand = '{$brand}'";
}
$brand_that_chosen_by_user = union select user,password from users
您有兩個選擇。
根據需要動態添加WHERE
子句:
if ($brand != 'Every brand') {
$sql .= " WHERE brand = :brand";
}
或讓您的SQL語句將其作為特殊情況處理:
SELECT * FROM some_table WHERE :brand = 'Every brand' OR brand = :brand
我使用的是PDO准備好的語句 (以防止SQL注入),因此在兩種情況下,您都需要將參數與$statement->bindParam("brand", $brand);
綁定$statement->bindParam("brand", $brand);
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.