Да, можно использовать параметризованный запрос oci8 для ваших операторов SQL.
oci_bind_by_name привязывает переменную PHP к переменной-заполнителю переменной связывания Oracle bv_name.Связывание важно для производительности базы данных Oracle, а также как способ избежать проблем безопасности SQL-инъекций.
Связывание уменьшает проблемы внедрения SQL, потому что данные, связанные с переменной связывания, никогда не рассматриваются как часть оператора SQL.Он не нуждается в цитировании или экранировании.
Подробнее здесь .
<?php
$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}
$sql = 'SELECT last_name FROM employees WHERE department_id = :dpid ';
$stid = oci_parse($conn, $sql);
$didbv = 60;
oci_bind_by_name($stid, ':dpid ', $didbv);
oci_execute($stid);
while (($row = oci_fetch_object($stid)) != false) {
echo $row->last_name ."<br>\n";
}
oci_free_statement($stid);
oci_close($conn);
?>