Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nhiều đối tượng SQL trong PHP / MySQLi

Trong một kết nối MySQL, bạn chỉ có thể làm việc với một truy vấn tại thời điểm đó. Bạn có thể chuẩn bị nhiều câu lệnh hơn cùng một lúc (những dữ liệu này vẫn được giữ trong trình điều khiển MySQLi), tuy nhiên, khi bạn sử dụng execute (), câu lệnh sẽ được gửi đến cơ sở dữ liệu và cơ sở dữ liệu sẽ yêu cầu tất cả các yêu cầu bind_param () và bind_result () trong tương lai cùng một câu lệnh, cho đến khi bạn gửi một câu lệnh mới.

Hai câu lệnh cùng lúc => hai kết nối đến DB => hai đối tượng mysqli.

Ngoài ra, vấn đề của bạn có thể được giải quyết trong một truy vấn như:

$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. Lưu trữ thẻ trong cơ sở dữ liệu. Lưu trữ thẻ một lần hay nhiều lần?

  2. Mysql:Đếm bản ghi (bao gồm cả 0) mỗi tháng

  3. Chèn một danh sách đơn giản vào bảng MySQL (php)

  4. Các tab động đang hiển thị các bản ghi giống nhau

  5. Xử lý đúng cách dữ liệu dài trong Hibernate