我的数据库中有三个表,我正在构建一个 API 来以 JSON 格式显示结果。
我目前的 API 设置如下:
api.php?type=tablename
我只是这样做:
$query = "SELECT * from `" . $_GET["type"] ."` ";
很简单。我还有一个订单类型:
api.php?type=tablename&order=columnname
对于代码,我这样做:
$query = "SELECT * from `" . $_GET["type"] ."` ";
if(isset($_GET["order"]))
$query .= "ORDER BY `" . $_GET["type"] . "`.`". $_GET["order"] ."` ASC";
现在这很好,但是我想扩展它,以便用户能够使用“select=columnname”专门选择他们想要的列
所以我的问题是:
- 在 URL 中进行多项选择的最佳方式是什么,例如 api.php?type=tablename&select=this|that|something
我总是可以分解字符串并以这种方式构建查询?但这是最好的方法吗?
- 虽然
if isset
到处都有“”的解决方案会起作用,但对我来说它会变得很乱,如果我想在其中添加其他 SQL 语句,编辑起来并不容易。
我看到了使用%s
来执行此操作的建议,但是我一生都无法理解我将如何实现这一点。
任何建议都会很好,而不需要做很多 if 语句。
编辑:不要担心查询是否失败,我已经完成了。