我的插件中有一些复杂的查询要求我使用->query()
而不是->find()
方法。
我无法理解如何清理原始sql所以我猜这里有人可以指导我。
所以第一步是在声明类之前包含App:import("sanitize");
。
现在让我说我有这个:
$query = $this->Mytable->query("SELECT * FROM mytable WHERE " . $WHERECLAUSE . ";");
当我完全迷失在食谱中时,有人可以帮我消毒我的查询。
感谢您的帮助,非常感谢。
答案 0 :(得分:1)
使用此:Sanitize :: clean($ query,$ options)
答案 1 :(得分:0)
Sanitize :: clean用于值/整个数组,例如$ this-> data。
$WHERECLAUSE = Sanitize::clean($whereclause, array('escape'));
$query = $this->Mytable->query("SELECT * FROM mytable WHERE " . $WHERECLAUSE . ";");
那就行了。
array('escape')用于SQL语句。