mysql_query()
invia una query univoca (non sono supportate più query) .Questo è il comportamento predefinito. Tuttavia c'è un bypass per questo.
Tuttavia il codice del risultato della prima query da solo verrà fornito come output di mysql_query()
se lo fai.
Devi solo passare il flag 65536 come 5° parametro di mysql_connect. il flag è definito in flags del client MySQL .
#define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */
#define CLIENT_MULTI_RESULTS 131072 /* Enable/disable multi-results */
Quindi modifica il tuo mysql_connect()
codice che corrisponda a questo:
mysql_connect($host, $username, $password, false, 65536);
Avviso:
- Otterrai il risultato di
mysql_query($query)
per la prima query solo nel dato$query
. Puoi provare a concatenare131072
con65536
per ottenere più risultati. - Questo non funzionerà su PHP <4.3.0
- Questo non funzionerà se
sql.safe_mode
è impostato come 1 in php.ini
Un'altra alternativa sarà usare mysqli
invece di mysql
biblioteca. Supporta $mysqli->multi_query()
e fornisce un output all'interno di un array per ogni query.