以下通过 PHP 的 MySql SELECT 成功返回包含由变量 $my_color
指定的颜色的行。
$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);
我还想执行不依赖于特定颜色的搜索。我可以使用 if-then block 来执行此操作以使用不同的 SELECT 模式但是...
问题: MySQL 是否能够将 WHERE 条件设置为转换为“接受任何内容”的内容 (WHERE = *
)?
最佳答案
您可以使用 LIKE 子句,输入是通配符,如下所示:
$my_color = "%";
$a = $pdo->prepare("SELECT * FROM my_table WHERE color LIKE :color");
$a->bindParam('color', $my_color);
$a->execute();
$data = fetchAll(PDO::FETCH_ASSOC);
关于php - MySql WHERE 子句是否有通配符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45681789/