mysql_query()
skickar en unik fråga (flera frågor stöds inte) .Det är standardbeteendet. Det finns dock en bypass för detta.
Men resultatkoden för den första frågan ensam kommer att ges som utdata från mysql_query()
om du gör detta.
Du måste bara skicka flaggan 65536 som mysql_connects 5:e parameter . flaggan definieras i MySQL Client-flaggor .
#define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */
#define CLIENT_MULTI_RESULTS 131072 /* Enable/disable multi-results */
Så redigera din mysql_connect()
kod som matchar detta:
mysql_connect($host, $username, $password, false, 65536);
Varning:
- Du kommer att få resultatet av
mysql_query($query)
endast för den första frågan i den givna$query
. Du kan prova att sammanfoga131072
med65536
för att få flera resultat. - Detta fungerar inte på PHP <4.3.0
- Detta fungerar inte om
sql.safe_mode
är satt som 1 i php.ini
Ett annat alternativ är att använda mysqli
istället för mysql
bibliotek. Den stöder $mysqli->multi_query()
och ger utdata inom en array för varje fråga.