MySQL में तैयार स्टेटमेंट के साथ शुरुआत करना
तैयार स्टेटमेंट सुरक्षित और कुशल SQL क्वेरी लिखने के लिए एक आवश्यक उपकरण हैं। इस लेख में, हम यह पता लगाएंगे कि PHP में MySQLi एक्सटेंशन, mysqli के साथ तैयार कथनों का उपयोग कैसे करें। , "घातक त्रुटि: किसी गैर-ऑब्जेक्ट पर सदस्य फ़ंक्शन निष्पादित() को कॉल करें," आम तौर पर इंगित करता है कि $stmt वैरिएबल ठीक से प्रारंभ नहीं किया गया है या एक ऑब्जेक्ट नहीं है। इसे ठीक करने का तरीका यहां बताया गया है:
$stmt = $mysqli->prepare('INSERT INTO Users (name, Age) VALUES (?,?)');सुनिश्चित करें कि आपके पास एक आगे बढ़ने से पहले डेटाबेस से वैध कनेक्शन।
बाध्यकारी पैरामीटर्स$stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?,?)");
तैयार कथन इनपुट मानों का प्रतिनिधित्व करने के लिए पैरामीटर मार्कर (उदाहरण के लिए, ?) का उपयोग करते हैं। स्टेटमेंट निष्पादित करने से पहले इन मानों को PHP वेरिएबल्स से बांधना होगा। यहाँ एक उदाहरण है:
$name = 'one'; $आयु = 1; $stmt->bind_param('si', $name, $age);इस उदाहरण में, हम नाम पैरामीटर को एक स्ट्रिंग ('s') के रूप में और आयु पैरामीटर को पूर्णांक ('i) के रूप में बांधते हैं ').
विवरण निष्पादित करना$stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?,?)");
एक बार पैरामीटर बाध्य हो जाने पर, आप तैयार किए गए को निष्पादित कर सकते हैं कथन:
$stmt->execute();
Handling Errors$stmt->execute();
if ($stmt->error) { मरो ("त्रुटि:"। $stmt->त्रुटि); }
पूर्ण उदाहरणif ($stmt->error) { die("Error: " . $stmt->error); }
// कनेक्शन स्थापित करें
$mysqli = नया mysqli("लोकलहोस्ट", "रूट", "रूट", "टेस्ट");
// पैरामीटर तैयार करें और बाइंड करें
$stmt = $mysqli->तैयार करें ("उपयोगकर्ताओं (नाम, उम्र) में मूल्य डालें (?,?)");
$stmt->bind_param('si', $name, $age);
// एकाधिक पंक्तियाँ सम्मिलित करें
$नाम = 'एक';
$आयु = 1;
$stmt->निष्पादित करें();
$नाम = 'दो';
$आयु = 2;
$stmt->निष्पादित करें();
// चयन कथन तैयार करें और निष्पादित करें
$stmt = $mysqli->तैयार करें ("उपयोगकर्ताओं से चुनें *");
$stmt->निष्पादित करें();
// बाइंड परिणाम
$परिणाम = $stmt->get_result();
// प्रक्रिया परिणाम
जबकि ($पंक्ति = $परिणाम->fetch_assoc()) {
प्रतिध्वनि $पंक्ति['नाम']। ", " . $पंक्ति['आयु'] . "
\n";
}
// त्रुटियों को संभालें
अगर ($stmt->त्रुटि) {
मरो ("त्रुटि:"। $stmt->त्रुटि);
}तैयार कथनों का उपयोग करके, आप SQL इंजेक्शन हमलों को रोक सकते हैं और अधिक मजबूत और कुशल SQL क्वेरी लिख सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3