mysql_query() odešle jedinečný dotaz (více dotazů není podporováno) .To je výchozí chování. Pro toto však existuje bypass.
Samotný výsledný kód prvního dotazu však bude dán jako výstup mysql_query() pokud to uděláte.
Musíte pouze předat příznak 65536 jako 5. parametr mysql_connect. příznak je definován v příznaky klienta MySQL .
#define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */
#define CLIENT_MULTI_RESULTS 131072 /* Enable/disable multi-results */
Upravte tedy mysql_connect() kód odpovídající tomuto:
mysql_connect($host, $username, $password, false, 65536);
Upozornění:
- Obdržíte výsledek
mysql_query($query)pro první dotaz pouze v daném$query. Můžete zkusit zřetězit131072s65536pro získání více výsledků. - Toto nebude fungovat na PHP <4.3.0
- Toto nebude fungovat, pokud
sql.safe_modeje nastaven jako 1 v php.ini
Další alternativou bude použití mysqli místo mysql knihovna. Podporuje $mysqli->multi_query() a poskytuje výstup v rámci pole pro každý dotaz.