Заявката трябва да бъде изпълнена, преди да можете да опитате да извлечете редове. oci_parse()
не изпълнява дадената заявка.
Добавете извикването за изпълнение, преди да извлечете:
$success = oci_execute($objParse);
Освен това в първия блок на вашия if
, не извиквате oci_parse()
. Извиква се само в else
. Промяна на извикване на oci_parse()
за всички условия.
Вашата заявка е уязвима за SQL инжектиране, защото свързвате необработени POST данни в нея. За да предотвратите SQL инжектиране, използвайте обвързани параметри:
$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);