mysql_query()
sender en unik forespørgsel (flere forespørgsler understøttes ikke) .Det er standardadfærden. Der er dog en bypass for dette.
Resultatkoden for den første forespørgsel alene vil dog blive givet som output af mysql_query()
hvis du gør dette.
Du skal blot sende flag 65536 som mysql_connects 5. parameter. flaget er defineret i MySQL Client flag .
#define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */
#define CLIENT_MULTI_RESULTS 131072 /* Enable/disable multi-results */
Så rediger din mysql_connect()
kode, der matcher dette:
mysql_connect($host, $username, $password, false, 65536);
Advarsel:
- Du får resultatet af
mysql_query($query)
kun for den første forespørgsel i den givne$query
. Du kan prøve at sammenkæde131072
med65536
for at få flere resultater. - Dette virker ikke på PHP <4.3.0
- Dette virker ikke, hvis
sql.safe_mode
er sat som 1 i php.ini
Et andet alternativ vil være at bruge mysqli
i stedet for mysql
bibliotek. Den understøtter $mysqli->multi_query()
og giver output inden for et array for hver forespørgsel.