我有一个包含许多表的数据库。我还有一个连接到它的基于Web的应用程序。目前我正在使用准备好的查询。
我正在尝试创建一个通用查询,该查询将能够从不同的表中获取可变数量的输入列。 (基本上用户检查创建我需要传递给查询的php变量的框)。
如果我知道需要说2列,那很简单,我只需要做类似的事情,
SELECT $col1, $col2 FROM $table1 INNER JOIN $table2;
如何更改它以便在查询中输入任意数量的变量?
提前致谢,
Zohm
编辑:我想我可能会在PHP或交换机中执行if / else条件,并且每种情况都会对应于许多输入列,并且每种情况都会有其查询。但是这会做很多情况(例如用户可以点击10个方框)并且这样做并不是正确的。此外,如果我需要更多案例,将来我将不得不改变代码,而我不必这样做。答案 0 :(得分:0)
我假设您的表单元素名称是您要查找的表字段。如果是这种情况,您可以遍历帖子来构建您的字段表。我不知道你是如何设置变量有2个值...
$_POST['field1'] = "true";
$_POST['field2'] = "true";
$_POST['field3'] = "false";
$_POST['field4'] = "true";
$fields = "";
foreach ($_POST as $key => $value)
{
$fields .= $key . ",";
}
最终会以
结束 $fields = "field1,field2,field4,";
现在你必须删除最后一个逗号,
$fields = substr($fields,0,-1);
所以你可以:
$query = "SELECT " . $fields . " from table1...and so on.