Đó là vì mysql_query
hàm sẽ chỉ chấp nhận một truy vấn, nhưng bạn đã cho nó hai, được phân tách bằng dấu chấm phẩy. Hãy thử một trong hai:
-
Chạy từng truy vấn riêng biệt (không biết điều này có hiệu quả không):
mysql_query( "SET @N=-1" ); mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
-
Sử dụng mysqli với multi_query hàm (hoặc một PDO tương đương nếu có).
Để trả lời câu hỏi đã cập nhật của bạn:hãy kiểm tra trang hướng dẫn sử dụng PHP để biết multi_query. Tôi nghĩ bạn sẽ muốn sử dụng mysqli::next_result
. Một cái gì đó như thế này, sử dụng kiểu thủ tục:
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);
}