0
在mySQL SELECT
查詢中,我想根據WHERE子句中的PDO綁定搜索參數條件選擇客戶端表的行。像WHERE client = :searchStr
mySQL:如何在SELECT查詢的CASE語句中使用PDO綁定參數?
有兩種情況: A)的搜索參數包含一個字符串或 B)的搜索參數爲空
在A的情況下的PARAM :searchStr
包含例如一個客戶號「123 」。
所以我使用:WHERE client = :searchStr
和查詢返回客戶端123如果客戶端在表中。
在B的情況下,字符串是空的。所以我不使用WHERE子句,查詢只是返回表中的所有客戶端
當然,我可以在SELECT查詢之外編寫一個IF .. ELSE語句。 但如何在SELECT查詢中使用CASE語句進行編碼?
喜歡的東西
CASE
WHEN :searchStr = '' THEN WHERE client = :searchStr
END
不起作用
這個答案似乎是完美的,因爲我不知道完全需要CASE語句。但NULL不起作用,因爲在我的情況下,searchStr總是初始化並且只是空的。因爲我用一個字符串使用PDO準備語句,所以我需要使用雙重qoutes而不是單引號。 – Ben