mysql_query
が原因です 関数は1つのクエリのみを受け入れますが、セミコロンで区切って2つ指定しました。次のいずれかを試してください:
-
各クエリを個別に実行する(これが機能するかどうかはわかりません):
mysql_query( "SET @N=-1" ); mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
-
mysqli を使用する multi_query を使用 関数(または PDO ある場合は同等です。
更新された質問に答えるには:PHPのマニュアルページでmulti_queryを確認してください。 mysqli::next_result
を使用することをお勧めします 。手続き型スタイルを使用したこのようなもの:
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);
}