4

->query()メソッドではなくを使用する必要がある複雑なクエリがプラグインにいくつかあり->find()ます。

生のSQLをサニタイズする方法を理解できなかったので、ここの誰かが私を案内してくれると思いました。

したがって、最初のステップはApp:import("sanitize");、クラスの宣言の前に を含めることです。

今私がこれを持っているとしましょう:

$query = $this->Mytable->query("SELECT * FROM mytable WHERE " . $WHERECLAUSE . ";");

クックブックで完全に迷子になったので、誰かが私のクエリをサニタイズするのを手伝ってくれますか?

ご協力いただきありがとうございます。

4

2 に答える 2

1

これを使用してください: Sanitize::clean($query, $options)

于 2012-11-15T11:00:49.520 に答える
0

Sanitize::clean は、$this->data などの値/配列全体に使用されます。

$WHERECLAUSE = Sanitize::clean($whereclause, array('escape'));
$query = $this->Mytable->query("SELECT * FROM mytable WHERE " . $WHERECLAUSE . ";");

それはトリックを行います。

配列('エスケープ')
SQL ステートメントに使用されます。

于 2013-01-04T22:10:49.030 に答える