好的,所以我的主要问题是关于 WHERE 和 ORDER BY、LIMIT 等之间的任何内容。
我目前的设置如下:
SELECT " . $column_string . " FROM " . $table_name . " " . $query_join . " " . $where . " " . $query_end . " " . $query_limit
我的问题是这样的,我设置了用转义字符串检查每个变量,但是当你来到 $query_end 时,它将持有 test = '1' AND test2 = '2' 等。我有那个部分设置允许你发送一口气完成整个字符串。但当然,如果你检查它是否变成了 test = \'1\' AND test2 = \'2\'。
我唯一能想到的就是把它分成一些奇怪的数组,比如 [test2 = ],[2] 但这对 (test1 = '2' OR test2 = '3') 不起作用,尽管我可以让它工作我真的不想那样做。
任何人都可以为上述问题提出更好的解决方案吗?还有另一个项目用于检查 mysql-real-escape-string 之外的注入吗?
此设置的全部原因是允许我使用 json 通过 ajax 发送多个查询,然后将所有数据发送回 3 级数组。