sql >> Database teknologi >  >> RDS >> Oracle

søg i oracle database ved hjælp af php

Forespørgslen skal udføres, før du kan prøve at hente rækker. oci_parse() udfører ikke den givne forespørgsel.

Tilføj det udførende opkald, før du henter:

$success = oci_execute($objParse);

Også i den første blok af din if , du kalder ikke oci_parse() . Det kaldes kun i else . Skift til at kalde oci_parse() for alle forhold.

Din forespørgsel er sårbar over for SQL Injection, fordi du sammenkæder rå POST-data i den. For at forhindre SQL-injektion skal du bruge bundne parametre:

$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. JCombobox vises ikke

  2. Skinner validerer unikke fejl på samtidige input

  3. postgresql:datatype for md5-meddelelsessammendrag?

  4. Sådan bruger du PostgreSQL hstore/json med JdbcTemplate