Laden von CSV in eine MySQL-Tabelle mit PHP
Ich versuche, eine CSV-Datei mit einem PHP-Skript in eine MySQL-Tabelle zu importieren. Dieser SQL-Befehl importiert die CSV-Datei erfolgreich in die SQL-Tabelle:
mysql> LOAD DATA LOCAL INFILE 'property_re_1.csv'
-> REPLACE INTO TABLE `markers`
-> FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\'
-> LINES TERMINATED BY '\n' IGNORE 1 LINES;
Query OK, 315 rows affected (0.01 sec)
Records: 315 Deleted: 0 Skipped: 0 Warnings: 0
Jetzt möchte ich diesen SQL-Befehl in ein PHP-Skript konvertieren. Hier ist mein Versuch, das PHP-Skript zu schreiben:
<?PHP
$dbhost = 'localhost';
$dbuser = 'myusername';
$dbpasswd = 'mypassword';
$db = "db_markers";
$dbh = mysql_connect($dbhost, $dbuser, $dbpasswd) or die("Unable to connect to SQL server");
$my_db = @mysql_select_db($db, $dbh) or die("Unable to select database");
$file = $_SERVER['DOCUMENT_ROOT']."/path/property_re_1.csv";
$result=mysql_query("LOAD DATA LOCAL INFILE '$file' REPLACE INTO TABLE `markers` FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES");
?>
Dieses Skript führt zu einem Fehler:
HTTP-Fehler 500 (Interner Serverfehler): Beim Versuch des Servers, die Anforderung zu erfüllen, ist eine unerwartete Bedingung aufgetreten.
Das Fehlerprotokoll lautet:
[18-Dec-2012 12:37:38] PHP Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /path/testconnect.php on line 13
Die Variable $ Result wird in Zeile 13 aufgerufen, daher muss der Fehler darin enthalten sein.
Ich bin nicht sicher, was die Ursache für diesen Fehler ist. Jede Hilfe wird sehr geschätzt!