यह नाम वाले पैरामीटर के लिए मान बांधता:
$name = "O'Reilly";
$stid = oci_parse($mycon, 'INSERT INTO CUSTOMERS (NAME) VALUES (:nm)');
oci_bind_by_name($stid, ':nm', $name, -1);
oci_execute($stid);
तो जब आप उस क्वेरी :nm
चलाने O'Reilly
हो जाएगा। -1
का मतलब है, बाध्य मान चर के रूप में लंबे समय तक होना चाहिए। यह डिफ़ॉल्ट मान है। आपको इसे सेट करने की ज़रूरत नहीं है। जब तक आप केवल मौजूदा चर बाध्यकारी हैं, आपको परेशान करने की आवश्यकता नहीं है।
आप क्योंकि
बाध्यकारी डेटाबेस बयान के संदर्भ और caches from previous executions of the statement पुनः उपयोग कर सकते हैं, भले ही किसी अन्य उपयोगकर्ता या प्रक्रिया मूल रूप से यह निष्पादित इस विधि का उपयोग करना चाहते हैं। बाध्यकारी SQL Injection चिंताओं को कम करता है क्योंकि बाइंड वैरिएबल से जुड़े डेटा को SQL कथन का हिस्सा कभी नहीं माना जाता है। इसे उद्धरण या भागने की आवश्यकता नहीं है।
जो इसका मतलब है अधिक सुरक्षित है और बेहतर प्रदर्शन है।
कृपया अब तक दिए गए उत्तरों की समीक्षा करें और या तो अपनी समस्या का समाधान करें या अपडेट करें और यह बताएं कि इनमें से कोई भी आपकी समस्या का समाधान क्यों नहीं करता है, इसलिए लोगों को उनके उत्तरों में सुधार करने का मौका है। धन्यवाद। – Gordon