Det beror på att mysql_query
funktion accepterar bara en fråga, men du har gett den två, åtskilda med semikolon. Prova antingen:
-
Kör varje fråga separat (vet inte om detta kommer att fungera):
mysql_query( "SET @N=-1" ); mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
-
Använda mysqli med multi_query funktion (eller en PDO motsvarande om det finns en).
För att svara på din uppdaterade fråga:kolla PHP-manualsidan för multi_query. Jag tror att du kommer att vilja använda mysqli::next_result
. Något i stil med detta, med procedurstil:
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);
}