Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wykonać wiele zapytań mysql razem w PHP?

mysql_query() wysyła unikalne zapytanie (wiele zapytań nie jest obsługiwanych) .To jest zachowanie domyślne. Istnieje jednak obejście tego.

Jednak kod wyniku pierwszego zapytania zostanie podany jako wynik mysql_query() jeśli to zrobisz.

Musisz tylko przekazać flagę 65536 jako piąty parametr mysql_connect . flaga jest zdefiniowana w flagach klienta MySQL .

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

Więc edytuj swój mysql_connect() kod pasujący do tego:

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

Ostrzeżenie:

  1. Uzyskasz wynik mysql_query($query) dla pierwszego zapytania tylko w podanym $query . Możesz spróbować połączyć 131072 z 65536 za uzyskanie wielu wyników.
  2. To nie będzie działać w PHP <4.3.0
  3. To nie zadziała, jeśli sql.safe_mode jest ustawiony jako 1 w php.ini

Inną alternatywą będzie użycie mysqli zamiast mysql biblioteka. Obsługuje $mysqli->multi_query() i daje wynik w postaci tablicy dla każdego zapytania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przechowywać zamówienia?

  2. Dodaj indeks MySql:0 wierszy, których dotyczy problem

  3. Dynamiczne zapytanie mysql w procedurze składowanej

  4. jak pobrać dane w JSP wewnątrz tabeli na podstawie wyboru z listy rozwijanej?

  5. mysql pivoting - jak mogę pobrać dane z tej samej tabeli do różnych kolumn?