sql >> Database >  >> RDS >> Oracle

zoek Oracle-database met behulp van php

De query moet worden uitgevoerd voordat u kunt proberen rijen op te halen. oci_parse() voert de opgegeven query niet uit.

Voeg de execute-aanroep toe voordat u ophaalt:

$success = oci_execute($objParse);

Ook in het eerste blok van uw if , je belt niet oci_parse() . Het wordt alleen aangeroepen in de else . Wijzig om oci_parse() . aan te roepen voor alle voorwaarden.

Uw query is kwetsbaar voor SQL-injectie omdat u er onbewerkte POST-gegevens in samenvoegt. Gebruik gebonden parameters om SQL-injectie te voorkomen:

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



  1. SQL dezelfde eenheid tussen twee tabellen heeft volgnummers nodig in 1 cel

  2. Relaties van modellen (Laravel 5.2)

  3. wordpress migratie naar nieuwe VM-instantie GCP

  4. Verschillen tussen MySQL en SQL Server