È perché mysql_query
funzione accetterà solo una query, ma ne hai fornite due, separate da un punto e virgola. Prova uno dei due:
-
Esecuzione di ciascuna query separatamente (non so se funzionerà):
mysql_query( "SET @N=-1" ); mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
-
Utilizzo di mysqli con multi_query funzione (o un DOP equivalente se ce n'è uno).
Per rispondere alla tua domanda aggiornata:controlla la pagina di manuale di PHP per multi_query. Penso che vorrai usare mysqli::next_result
. Qualcosa del genere, usando lo stile procedurale:
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);
}