4

次のように、ステートメントを準備してバインドし、生成された SQL をプレビューできるかどうかに興味があります ( oci_preview_sql関数はプレースホルダーです)。

// Glorious declaration of a non-specific query
$statment = oci_parse($handle, "SELECT x FROM y WHERE variable = :value");

// Bind up some variables
oci_bind_by_name($statement, ':value', $value);
...

// Location of interest
oci_preview_sql($statement); // ? is there some method like this?    

// Execute it
oci_execute($statement, OCI_DEFAULT);
4

1 に答える 1

3

oci は実際の準備済みステートメントをサポートしているため、疑問に思っているクエリは存在しません。データベース/スクリプト通信のすべてのレベルで、プレースホルダーを含むステートメントと送信するパラメーターは別個のエンティティであるため、準備されたステートメントは SQL インジェクションを防ぐ優れたツールです。

于 2010-09-27T18:57:42.840 に答える