Truy vấn phải được thực thi trước khi bạn có thể cố gắng tìm nạp các hàng. oci_parse()
không thực hiện truy vấn đã cho.
Thêm lệnh gọi thực thi trước khi bạn tìm nạp:
$success = oci_execute($objParse);
Ngoài ra, trong khối đầu tiên của if
, bạn không gọi oci_parse()
. Nó chỉ được gọi trong else
. Thay đổi thành cuộc gọi oci_parse()
cho tất cả các điều kiện.
Truy vấn của bạn dễ bị SQL Injection vì bạn nối dữ liệu POST thô vào đó. Để ngăn SQL Injection, hãy sử dụng các tham số liên kết:
$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);