इससे पहले कि आप पंक्तियों को लाने का प्रयास कर सकें, क्वेरी को निष्पादित किया जाना चाहिए। 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);