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

php/mysql dengan banyak kueri

Berkat php.net saya menemukan solusi:Anda harus menggunakan (mysqli_multi_query($link, $query)) untuk menjalankan beberapa kueri gabungan.

 /* create sql connection*/
$link = mysqli_connect("server", "user", "password", "database");

$query = "SQL STATEMENTS;"; /*  first query : Notice the 2 semicolons at the end ! */
$query .= "SQL STATEMENTS;"; /* Notice the dot before = and the 2 semicolons at the end ! */
$query .= "SQL STATEMENTS;"; /* Notice the dot before = and the 2 semicolons at the end ! */
$query .= "SQL STATEMENTS"; /* last query : Notice the dot before = at the end ! */

/* Execute queries */

if (mysqli_multi_query($link, $query)) {
do {
    /* store first result set */
    if ($result = mysqli_store_result($link)) {
        while ($row = mysqli_fetch_array($result)) 

/* print your results */    
{
echo $row['column1'];
echo $row['column2'];
}
mysqli_free_result($result);
}   
} while (mysqli_next_result($link));
}

EDIT - Solusi di atas berfungsi jika Anda benar-benar ingin melakukan satu kueri besar tetapi juga memungkinkan untuk mengeksekusi kueri sebanyak yang Anda inginkan dan menjalankannya secara terpisah.

$query1 = "Create temporary table A select c1 from t1"; 
$result1 = mysqli_query($link, $query1) or die(mysqli_error());

$query2 = "select c1 from A"; 
$result2 = mysqli_query($link, $query2) or die(mysqli_error());

while($row = mysqli_fetch_array($result2)) {

echo $row['c1'];
    }  


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Temukan catatan dari satu tabel yang tidak ada di tabel lain

  2. Cara Menghitung Perbedaan Antara Dua Timestamp di MySQL

  3. MySQL:Rincian cepat dari jenis gabungan

  4. Bagaimana Fungsi TO_BASE64() Bekerja di MySQL

  5. Aktifkan Logging dari Kueri Lambat (Log Kueri Lambat) di Database MySQL