इसका मतलब है कि आपको एक लेनदेन ।
एक लेन-देन प्रश्नों का एक सेट है जो या तो सभी ठीक से निष्पादित होता है या यदि कोई विफल रहता है - वे सभी विफल हो जाते हैं। यह सुनिश्चित करने के लिए है कि आप अपने टेबल में बकवास डेटा के साथ समाप्त न हों।
नहीं
- मल्टीक्वेरी का प्रयोग न करें।
mysql_*
का इस्तेमाल न करें समारोह (ओं)।- बल्क इंसर्ट का उपयोग न करें।
जो लोग आपसे ऐसा करने के लिए कह रहे हैं, उन्हें बिल्कुल पता नहीं है कि वे क्या कर रहे हैं, उन्हें नज़रअंदाज़ करें।
करें
- PDO का इस्तेमाल करें
- तैयार स्टेटमेंट का इस्तेमाल करें
- कथन एक बार तैयार करें, उनका कई बार उपयोग करें
नमूना कोड - कॉपी पेस्ट न करें
$dsn = 'mysql:dbname=testdb;host=127.0.0.1;charset=utf8mb4';
$user = 'dbuser';
$password = 'dbpass';
$pdo = new PDO($dsn, $user, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$insert['first'] = $pdo->prepare("INSERT INTO table SET col1 = :val, col2 = :val2");
$insert['second'] = $pdo->prepare("INSERT INTO another_table SET col1 = :val, col2 = :val2");
$pdo->beginTransaction();
$insert['first']->bindValue(':val', 'your value');
$insert['first']->bindValue(':val2', 'anothervalue');
$insert['first']->execute();
$insert['second']->bindValue(':val', 'your value');
$insert['second']->bindValue(':val2', 'anothervalue');
$insert['second']->execute();
$pdo->commit();
उपरोक्त कोड डेटा को दो तालिकाओं में तभी सहेजेगा जब दोनों प्रविष्टियां सफल हों।