Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Beberapa objek SQL di PHP/MySQLi

Dalam satu koneksi MySQL, Anda hanya dapat bekerja dengan satu kueri dalam satu waktu. Anda dapat menyiapkan lebih banyak pernyataan sekaligus (data ini masih disimpan di driver MySQLi), namun, setelah Anda menggunakan execute(), pernyataan akan dikirim ke database dan database akan mengharapkan semua permintaan bind_param() dan bind_result() di masa mendatang menjadi dari pernyataan yang sama, sampai Anda mengirimkan pernyataan baru.

Dua pernyataan sekaligus => dua koneksi ke DB => dua objek mysqli.

Plus masalah Anda dapat diselesaikan dalam satu permintaan seperti:

$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. Bagaimana cara menghilangkan mode SQL STRICT di MySQL

  2. Python:Koneksi MySQL terbuka, tetapi tidak dapat membuat kursor

  3. Permintaan MYSQL untuk memilih hasil dari kondisi satu tabel dan menampilkannya di tabel lain

  4. Java:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Tidak dapat membuat koneksi ke server database

  5. Saya tidak bisa menggunakan alias di sql delete