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

Bagaimana cara menjalankan beberapa kueri mysql secara bersamaan di PHP?

mysql_query() mengirimkan kueri unik (beberapa kueri tidak didukung) .Itu perilaku default. Namun ada bypass untuk ini.

Namun kode hasil dari kueri pertama saja akan diberikan sebagai output dari mysql_query() jika Anda melakukan ini.

Anda hanya perlu melewati flag 65536 sebagai parameter ke-5 mysql_connect. flag didefinisikan di flag Klien MySQL .

#define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */
#define CLIENT_MULTI_RESULTS 131072 /* Enable/disable multi-results */

Jadi edit mysql_connect() . Anda kode yang cocok dengan ini:

mysql_connect($host, $username, $password, false, 65536);

Peringatan:

  1. Anda akan mendapatkan hasil dari mysql_query($query) untuk kueri pertama hanya dalam $query yang diberikan . Anda dapat mencoba menggabungkan 131072 dengan 65536 untuk mendapatkan banyak hasil.
  2. Ini tidak akan bekerja pada PHP <4.3.0
  3. Ini tidak akan berfungsi jika sql.safe_mode ditetapkan sebagai 1 di php.ini

Alternatif lain adalah menggunakan mysqli bukannya mysql Perpustakaan. Mendukung $mysqli->multi_query() dan memberikan output dalam larik untuk setiap kueri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Data peringatan tanggal mysql terpotong

  2. Bagaimana cara mengeksekusi kueri mentah dengan Laravel 5.1?

  3. Pilih duplikat dan simpan yang terlama (tidak berdasarkan ID)

  4. MySQL Dapatkan daftar tanggal dalam bulan, tahun

  5. MySQL bergabung dengan grup tabel berdasarkan jumlah masalah