Textfile in MySql Datenbank einlesen

kjh

Erfahrenes Mitglied
Hi Leute,

brauch mal wieder eure professionelle Hilfe!

Problem:

Habe ein Textfile, dass in eine MySql Datenbank eingelesen werden soll. Die einzelnen Felder sind durch ; getrennt. Soweit so gut hab mir dazu folgendes ausgedacht:

PHP:
<?



     $server= "xx";    
     $user= "xxx";       
     $passwort= "xxx";         
     $datenbank= "xxx";       

     

$dbConn = MYSQL_CONNECT($server, $user, $passwort)
              or die ( "<H3>Datenbankserver nicht erreichbar</H3>");
MYSQL_SELECT_DB($datenbank) 
              or die ( "<H3>Datenbank nicht vorhanden</H3>");

echo "hallo1";
$eintragung="LOAD DATA INFILE 'C://testl.txt' INTO TABLE STIP FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' IGNORE 1 LINES"; 
mysql_query("$eintragung") or die (mysql_error());
?>
Wenn ich das Script ausführe, dann bekomme ich den Fehler: "Access denied for user: 'xxx@localhost' (Using password: YES)" zurück.

Das script sollte generell so funktionieren, oder?
Müssen die Felder bereits angelegt sein in der MySql Tabelle?

Danke für euer Bemühen!

KJH
 
Also die Tabelle sollte schon vorhanden sein. Und die Felder, in die die Daten gespeichert werden sollen, sollten auch schon vorhanden und definiert sein!
Aber das Problem bei Dir liegt - wie die Fehlermeldung ja eindeutig sagt - darin, dass Du keine Zugriffsrechte hast. "Access denied" = "Zugriff verweigert"
Du solltest mal überprüfen, warum Du da keine Rechte hast!

redlama
 
ok alles klar... Die Frage war nur grundsätzlich gemeint mit der Tabelle.

Ja komisch mit dem Zugiff, oben die erste Verbindung wird einwandfrei aufgebaut. Diese Fehlermeldung wird erst bei
PHP:
mysql_query("$eintragung") or die (mysql_error());
verursacht. Das ist eben das was ich nicht Verstehe. Als erstes hab ich die Erlaubnis, dann nicht mehr!

Danke für deine Antwort auf alle Fälle!

KJH
 
Normalerweise ist immer eine Datenbank namens "mysql" vorhanden.
Da gibt es eine Tabelle "user".
Schau da mal rein, denn da kann man einstellen, wer welche Rechte wofür hat.
Vielleicht hast Du ja die Recht Datensätze zu selektieren, aber keine Rechte für Insert, Update, Load, ...

redlama
 
hmm... leider hab ich meine Datenbank bei nem Web-Anbieter, da kann ich nicht auf diese UserDatenbank zugreifen. Also Update und Insert geht auf jedenfall, da ich diese schon verwendet habe.

Danke!

kjh
 
Vielleicht liegt es auch daran, dass Du versuchst eine lokale Datei in eine Webdatendank einzulesen. Du kannst ja mal die Datei hochladen und das ganze dann auf dem Server mit dem entsprechenden Pfad versuchen.
Ansonsten kontaktiere Deinen Web-Anbieter und frag mal nach, ob "Load" erlaubt ist oder nicht.

redlama
 
Zurück