Puede insertar más de una fila a la vez en MySQL:
INSERT INTO table1 (column1, column2, ...) VALUES (value_col1, value_col2), (value2_col1, value2_col2), ...;
En PHP, puede crear su consulta recorriendo las filas y agregándolas a la cadena SQL:
$sql = "INSERT INTO table1 (col1, col2) VALUES ";
foreach($rows as $i=>$row) {
if ($i>0) {
$sql .= sprintf(",(%s,%s)", $row["col1_value"], $row["col2_value"]);
} else {
$sql .= sprintf("(%s,%s)", $row["col1_value"], $row["col2_value"]);
}
}
mysql_query($sql);
Debe asegurarse de escapar correctamente sus valores dependiendo de lo que realmente esté insertando.