2010-09-27 13 views
4

Curieux de savoir si oui ou non vous pouvez préparer une déclaration, bind, puis afficher un aperçu du SQL généré comme suit (la fonction oci_preview_sql est un porte-lieu):Quoi qu'il en soit pour prévisualiser les instructions SQL préparées en PHP en utilisant OCI?

// 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); 

Répondre

3

oci soutient des déclarations préparées réelles, donc la question que vous vous posez ne existe pas. A tous les niveaux de la communication base de données/script, l'instruction avec des espaces réservés et les paramètres que vous envoyez sont des entités séparées, pourquoi l'instruction préparée est un excellent outil pour empêcher l'injection SQL.