El SQL de Msyql .. para un insert sólo soporta la creación de un resgistro por INSERT .. lo mismo sucede con la ejecución de ese SQL vía PHP con mysql_query() .. sólo ejecuta una instrucción SQL (hasta el primer ; que pudieras tener) por llamada de la función.
mas info:
http://www.mysql.com/doc/en/INSERT.html www.php.net/mysql
Ahora .. si tienes un archivo "SQL" con esas instrucciones separadas por ; (cada INSERT .. tipico de un "backup" hecho desde phpMyadmin o gestores de Mysql similares) .. puedes usar el comando de mysql "LOAD DATA ...". Eso será más optimo en cuanto a "performance" que usar PHP y mysql_query() en un bucle (bucle que leeiría una instrucción de tu archivo (hasta el ;) para ejecutar instrucción por instrucción SQL.)
mas info:
http://www.mysql.com/doc/en/LOAD_DATA.html
Un saludo,