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

PHP/MySQLi में एकाधिक SQL ऑब्जेक्ट

एक MySQL कनेक्शन में, आप उस समय केवल एक ही क्वेरी के साथ काम कर सकते हैं। आप एक साथ और स्टेटमेंट तैयार कर सकते हैं (ये डेटा अभी भी MySQLi ड्राइवर में रखा जाता है), हालाँकि, एक बार जब आप एक्ज़ीक्यूट () का उपयोग करते हैं, तो स्टेटमेंट डेटाबेस को भेज दिया जाएगा और डेटाबेस भविष्य के सभी बाइंड_परम () और बाइंड_रिज़ल्ट () अनुरोधों की अपेक्षा करेगा। वही कथन, जब तक आप नया विवरण नहीं भेजते।

एक ही समय में दो कथन => DB के लिए दो कनेक्शन => दो mysqli ऑब्जेक्ट।

साथ ही आपकी समस्या को एक ही प्रश्न में हल किया जा सकता है जैसे:

$stmt1 = $sql1->prepare ('SELECT o.orderid,o.date,b.product,b.price FROM orders o LEFT JOIN orderlines b ON b.orderid=o.orderid ORDER BY o.orderid');
$stmt1->execute();
$stmt1->bind_result($orderid,$date,$product,$price);
$prev_order_id=false;
while ($stmt1->fetch())
{
    if($prev_order_id!=$orderid)
    {
        if($prev_order_id!==false)
            echo "End of order " . $prev_orderid."<br>";
        echo "Order ID: " . $orderid . " from date: " . $date . ":<br>";
    }
    if(is_null($product))
        echo "Product from order is: " . $product . " and costs " . $price . "<br>";
    $prev_order_id=$orderid;
}
if($prev_order_id!==false)
    echo "End of order " . $prev_orderid."<br>";
$stmt1->close();
$sql1->close();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. get_result () काम नहीं करता यहां तक ​​कि mysqlnd भी सक्षम है

  2. MySQL से दूरस्थ रूप से कनेक्ट करें

  3. इनर जॉइन, लेफ्ट जॉइन, राइट जॉइन और फुल जॉइन में क्या अंतर है?

  4. PHP के माध्यम से MySQL से फ़्लोट डेटा?

  5. 8 सबसे लोकप्रिय डेटाबेस