Je transmets des variables PHP dans une requête Oracle SQL. Mais il ne le traite pas correctement et me donne des erreurs ORA telles que - caractère invalide. J'ai essayé d'échapper la variable à "$sid", ce qui fait dispara?tre l'erreur, mais la requête ne renvoie rien. Existe-t-il un moyen de transmettre des variables PHP à une requête Oracle
if(isset($_POST['action'])) { $sid = $_POST['action']; $stid = oci_parse($conn, 'SELECT emp from table emp='$sid''); oci_execute($stid); }
Par souci de concision, j'ai supprimé la partie connexion à la base de données.
'SELECT emp from table emp='$sid''
est une cha?ne que vous transmettez à Oracle exactement telle quelle, c'est pourquoi cela ne fonctionne pas.
Vous devez utiliser oci_bind_by_name
pour lier l'espace réservé à une variable PHP.
Exemple?:
$variable = 42; $stid = oci_parse($conn, 'SELECT col_name FROM tbl_name WHERE col_name > :num;'); oci_bind_by_name($stid, ":num", $variable); oci_execute($stid);