Así como lo has puesto no está bien pues en cada bucle reescribes la variable $sql.
Si te refieres a ejecutar la consulta en cada ciclo, podría hacerse y es válido, pero... para qué si puedes hacerlo todo junto?
http://www.forosdelweb.com/f86/inser...6/#post1735927
Un saludo,