Je to proto, že mysql_query
funkce přijme pouze jeden dotaz, ale zadali jste dva, oddělené středníkem. Zkuste buď:
-
Spuštění každého dotazu samostatně (nevím, jestli to bude fungovat):
mysql_query( "SET @N=-1" ); mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
-
Pomocí mysqli pomocí multi_query funkce (nebo CHOP ekvivalentní, pokud existuje).
Chcete-li odpovědět na vaši aktualizovanou otázku:podívejte se na manuálovou stránku PHP pro multi_query. Myslím, že budete chtít použít mysqli::next_result
. Něco takového s použitím procedurálního stylu:
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);
}