我的应用程序中有一个搜索表单,数据正在提交给后端,后端返回一个包含结果的表。该查询被动态构造是这样的:最佳实践:使用AJAX发送的数据生成查询
在$ _POST [“数据”]所有字段被过滤针对查询的某些类别 字段的允许列表。
空的域被丢弃。
顺便说一句,保存数据时也是这样。现在,对于由一个词组成的字段而言,这完全可以。但是在一些查询中我有一些复杂的JOIN,并且PDO有时会抱怨模糊的字段(例如'id')。
我该怎么做才能最好地处理这种情况?我不希望用户操纵我的查询,但还是要生成它们只是像我今天做的事:
case 'id':
case 'company':
$where .= ' AND `' . $field . '` = :' . $field;
...