Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं PHP के साथ लेनदेन के साथ संयुक्त रूप से तैयार बयानों का उपयोग कैसे कर सकता हूं?

"प्रारंभ ट्रांज़ेक्शन" कॉल करने के बाद बस "निष्पादित करें" को कॉल करें।

जहां आप "तैयार" कहते हैं, वास्तव में कोई फर्क नहीं पड़ता।

यहां एक पूरा उदाहरण दिया गया है:

http://php.net/manual/en/pdo.begintransaction.php ए>

उदाहरण:

 try {
    $cnx = new PDO($dsn,$dbuser,$dbpass);   
    $cnx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $cnx->beginTransaction();

    $stmt=$cxn->prepare("SELECT * FROM users WHERE username=?");
    $stmt->execute(array($user_input));

    $stmt_2=$cxn->prepare("SELECT * FROM othertable WHERE some_column=?");
    $stmt_2->execute(array($user_input_2));

    $cnx->commit();
  }
  catch (Exception $e){
    $cxn->rollback();
    echo "an error has occurred";
  }

पीएस:1) मैं निश्चित रूप से मान रहा हूं कि $user_input और $user_input_2 तुरंत उपलब्ध हैं। आप नहीं चाहते कि आपका लेन-देन अनावश्यक रूप से लंबे समय तक खुला रहे;)

2) उपरोक्त आपकी टिप्पणी के जवाब के आधार पर, मुझे लगता है कि आप "निष्पादित" और "ट्रान/प्रतिबद्ध" भ्रमित हो सकते हैं। कृपया मेरा लिंक देखें।

3) क्या आपको भी जरूरत एक लेनदेन? आप बस दो "चुनिंदा" कर रहे हैं।

4) अंत में, दो "सेलेक्ट्स" के बजाय एक "जॉइन" (या यूनियन, यदि संगत हो) क्यों न करें?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक टेबल डेटा लाने के लिए MySQL में शामिल हों

  2. [हैकररैंक पर ओलिवेंडर की इन्वेंटरी समस्या] द्वारा समूह में आंशिक (गैर-समेकित कॉलम) का विकल्प

  3. प्रकाशन के बाद ही त्रुटि होती है:किसी भी निर्दिष्ट MySQL होस्ट से कनेक्ट करने में असमर्थ।

  4. इस सर्वर संस्करण त्रुटि के लिए MySQL वर्कबेंच रिपोर्ट इस स्थिति में मान्य नहीं है

  5. FULLTEXT शैली खोजों का परीक्षण करने के लिए डेटासेट खोज रहे हैं