"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > PHP और PDO का उपयोग करके MySQL तालिका में कुशलतापूर्वक एकाधिक पंक्तियाँ कैसे सम्मिलित करें?

PHP और PDO का उपयोग करके MySQL तालिका में कुशलतापूर्वक एकाधिक पंक्तियाँ कैसे सम्मिलित करें?

2024-11-14 को प्रकाशित
ब्राउज़ करें:345

How to Efficiently Insert Multiple Rows into a MySQL Table Using PHP and PDO?

PHP और PDO के साथ MySQL में Arrays सम्मिलित करना

ऑनलाइन प्रोग्राम प्रारंभ करते समय, ग्राहक तीन-अंकीय पूर्णांक के रूप में दर्शाए गए कई प्रोग्राम में नामांकन कर सकते हैं और एक सारणी में संग्रहीत. उदाहरण के लिए, प्रोग्राम 155, 165, 175, और 185 में नामांकन के लिए, निम्नलिखित सरणी का उपयोग किया जाएगा:

$data = array(155, 165, 175, 185);

परंपरागत रूप से, कई INSERT कथनों को निष्पादित करने के लिए एक लूप बनाया जाएगा जैसे:

for($j = 0; $j prepare("INSERT INTO table SET memberID=?, programID=?, date_added=NOW()");
   $stmt->execute(array($memberid, $data[$j]));
}

हालाँकि, एकल गतिशील SQL स्टेटमेंट बनाना अधिक कुशल माना जाता है। एक संभावित समाधान होगा:

$sql = array();
foreach( $data as $row ) {
    $sql[] = '("'.$memberid.'", "'.$row[$j].'", NOW()")';
}
mysql_real_query('INSERT INTO table (memberid, programid) VALUES '.implode(',', $sql));

PDO के साथ, एक अधिक उपयुक्त तरीका है:

$sql = 'INSERT INTO table (memberID, programID) VALUES ';
$insertQuery = array();
$insertData = array();
foreach ($data as $row) {
    $insertQuery[] = '(?, ?)';
    $insertData[] = $memberid;
    $insertData[] = $row;
}

if (!empty($insertQuery)) {
    $sql .= implode(', ', $insertQuery);
    $stmt = $db->prepare($sql);
    $stmt->execute($insertData);
}

यह तकनीक एक तैयार किए गए स्टेटमेंट का उपयोग करके डेटाबेस तालिका में कई पंक्तियों को सम्मिलित करने की अनुमति देती है, जिससे डेटाबेस कॉल की संख्या कम हो जाती है और प्रदर्शन में सुधार होता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3