我有一个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。 –