php - 如何设置参数在未设置时不过滤SQL查询

标签 php mysql

我有一个页面,其中包含艺术家列表和三个按钮;摄影师、化妆师等等

当单击任何按钮时,我想查询数据库以通过 $_GET 选择每种类型,这对于前两个按钮来说很容易,我可以将 url 设置为 ?type=photographers

但是,当我想将类型设置为 all 时,名为 all 的类型列中没有值,我尝试将类型设置为 * 但不起作用

SELECT name, location, score, type FROM artists WHERE type = ?

如何设置类型来显示所有变量应该等于什么?

编辑:我已经在使用 !empty 方法,现在我想向我的查询添加更多规则,它变得越来越复杂,还有其他解决方案让我不必在 if 和 else 中进行两个查询吗?

最佳答案

看来你有两个选择,
1. 创建基本 SQL 查询SELECT name, location, Score, type FROM arts 并根据类型附加 where 子句(如果类型为 ALL,则不附加该子句)。
2.当点击ALL时,真正通过所有类型(摄影师、化妆师)并检查
在哪里输入 ();

关于php - 如何设置参数在未设置时不过滤SQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44964127/

相关文章:

javascript - 将变量从 .js 传递到 PHP,然后接收新的 var 作为响应?

php - Laravel Homestead 文件夹映射无法正常工作

mysql - 从子查询mysql中选择数据

mysql - MySQL 中何时使用单引号、双引号和反引号

php - PHP页面如何从数据库表中获取数据

php - mysql密码过期了。无法连接

php - 如何在 PHP 和 Cakephp 中从日期获取小时数?

php - 使用 include_partial() 部分传递 symfony 1.4 的对象?

php - SilverStripe 3.6.2 - 按下拉选择对分页数据对象进行排序会触发 404 错误

mysql - 在mysql中获取好友列表