我有一個MySQL查詢將受益於通配符樣式的運算符。不幸的是,因爲我無法弄清楚如何縮小搜索關鍵字,因此互聯網搜索非常困難。我可以在WHERE子句中使用通配符運算符嗎?
我有,例如...
$my_color = "red";
$a = $pdo->prepare("SELECT * FROM my_table WHERE color=:color");
$a->bindParam('color', $my_color);
$a->execute();
$data = fetchAll(PDO::FETCH_ASSOC);
這個偉大的工程。但我想讓客戶有能力搜索任何顏色。是的,我可以(基本上)圍繞整個PDO塊(基本上)if-then
創建多個查詢,但我希望有一個更優雅的解決方案。
MySQL是否有能力設置一個WHERE條件轉換爲「接受任何東西」?假設一個虛構的MySQL命令,ANY
,我想設置我的變量的能力...
$my_color = "ANY";
,並得到任何顏色的所有行。
'WHERE color LIKE'%%'' - '$ my_color =「%%」' – GrumpyCrouton
爲什麼不只是不使用where子句,它會給你所有的東西。或者,如果您必須在where子句中輸入,則可以說1 = 1。 –