Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Durchsuchen Sie die Oracle-Datenbank mit PHP

Die Abfrage muss ausgeführt werden, bevor Sie versuchen können, Zeilen abzurufen. oci_parse() führt die angegebene Abfrage nicht aus.

Fügen Sie den Ausführungsaufruf hinzu, bevor Sie abrufen:

$success = oci_execute($objParse);

Auch im ersten Block Ihres if , rufen Sie oci_parse() nicht auf . Es wird nur im else aufgerufen . Wechseln Sie zum Aufruf von oci_parse() für alle Bedingungen.

Ihre Abfrage ist anfällig für SQL Injection, da Sie unverarbeitete POST-Daten darin verketten. Um SQL-Injection zu verhindern, verwenden Sie gebundene Parameter:

$optid = '%' . $_POST['OPRID'] . '%';
$optdec = '%' . $_POST['OPRDEFNDESC']. '%';
$empid = '%' . $_POST['EMPLID']. '%';
$empmail = '%' . $_POST['EMAILID']. '%';

$query ="SELECT  * FROM OPERATOR WHERE OPRID LIKE :optid  
    or OPRDEFNDESC LIKE '%:optdec%' or EMPLID LIKE :empid
    or EMAILID LIKE :empemail "; 

$objParse = oci_parse ($ora_conn, $query);

oci_bind_by_name($objParse, ':optid', $optid);
oci_bind_by_name($objParse, ':optdec', $optdec);
oci_bind_by_name($objParse, ':empid', $empid);
oci_bind_by_name($objParse, ':empemail', $empemail);

$success = oci_execute($objParse);