Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

pesquisar banco de dados oracle usando php


A consulta deve ser executada antes que você possa tentar buscar linhas. oci_parse() não executa a consulta fornecida.

Adicione a chamada de execução antes de buscar:
$success = oci_execute($objParse);

Além disso, no primeiro bloco do seu if , você não chama oci_parse() . É chamado apenas no else . Altere para chamar oci_parse() para todas as condições.

Sua consulta é vulnerável à injeção de SQL porque você concatena dados brutos do POST nela. Para evitar SQL Injection, use parâmetros vinculados:
$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);