Dzieje się tak, ponieważ mysql_query
funkcja zaakceptuje tylko jedno zapytanie, ale dałeś mu dwa, oddzielone średnikiem. Spróbuj:
-
Uruchamianie każdego zapytania osobno (nie wiem, czy to zadziała):
mysql_query( "SET @N=-1" ); mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
-
Korzystanie z mysqli z multi_query funkcja (lub PDO równoważne, jeśli istnieje).
Aby odpowiedzieć na twoje zaktualizowane pytanie:sprawdź stronę podręcznika PHP dla multi_query. Myślę, że będziesz chciał użyć mysqli::next_result
. Coś takiego, używając stylu proceduralnego:
mysqli_multi_query($link, $query);
mysqli_next_result($link);
if ($result = mysqli_store_result($link)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}