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