0

我的数据库中有三个表,我正在构建一个 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 语句。

编辑:不要担心查询是否失败,我已经完成了。

4

0 回答 0