场景复现

在使用PbootCms的过程中,需要用到Ajax搜索,就需要调用API接口中的search。在实际使用过程中出现了BUG,API接口并未返回正确有效的信息。

BUG解析

这个问题出现在ajax的post参数中,传入了num参数,而接口中的$where3变量中并未对num参数进行unset,导致$where3变量中多出了一个num值,导致SQL异常。

修复办法

apps\api\controller\CmsController.php文件的大约330行,加入unset($where3['num']);

  1. unset($where3['appid']);

  2. unset($where3['timestamp']);

  3. unset($where3['signature']);

  4. unset($where3['keyword']);

  5. unset($where3['field']);

  6. unset($where3['scode']);

  7. unset($where3['page']);

  8. unset($where3['from']);

  9. unset($where3['isappinstalled']);

  10. unset($where3['tdsourcetag']);

  11. unset($where3['x']);

  12. unset($where3['y']);

  13. unset($where3['searchtpl']);

  14. unset($where3['p']);

  15. unset($where3['s']);

  16. unset($where3['num']);


到此BUG修复。