mysql_query()
изпраща уникална заявка (няколко заявки не се поддържат) .Това е поведението по подразбиране. Въпреки това има байпас за това.
Въпреки това само резултатният код на първата заявка ще бъде даден като изход на mysql_query()
ако направите това.
Просто трябва да подадете флаг 65536 като 5-ти параметър на mysql_connect. флагът е дефиниран в Клиентски флагове на MySQL .
#define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */
#define CLIENT_MULTI_RESULTS 131072 /* Enable/disable multi-results */
Така че редактирайте своя mysql_connect()
код, който да съответства на това:
mysql_connect($host, $username, $password, false, 65536);
Предупреждение:
- Ще получите резултата от
mysql_query($query)
само за първото запитване в дадената$query
. Можете да опитате да свържете131072
с65536
за получаване на множество резултати. - Това няма да работи на PHP <4.3.0
- Това няма да работи, ако
sql.safe_mode
е зададено като 1 в php.ini
Друга алтернатива ще бъде използването на mysqli
вместо mysql
библиотека. Поддържа $mysqli->multi_query()
и дава резултат в рамките на масив за всяка заявка.