Ich mache das auch bei einem Projekt - der User lädt 3 csv-Dateien über ein WebInterface hoch. Daraus erzeuge ich eine Textdatei (.sql). Der User kann dan auswählen welche der SQL-Dateien "aktiviert" werden soll. Zur Aktivierung wird der Dump dann mittels mysql-Binary in die Datenbank eingetragen. Das mysql-Binary ist deutlich schneller beim Zerlegen und Ausführen der SQL-Anweisungen als eine PHP-Lösung. Außerdem habe ich so eine "Backup-Lösung" in Form der älteren SQL-Dateien.
Allerdings schreibe ich keine "Variablennamen" in die Datei, sondern nur das fertige SQL (mit Escaping, Löschen der alten Daten, Aggregieren diverser Zwischenergebnisse, ...). PHP-Variablen haben in dem SQL nix zu suchen.
---
Weaverslave