使用PHP和GET参数构建动态查询

时间:2013-10-28 15:07:11

标签: php

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

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

0 个答案:

没有答案