Aus Textdatei in Datenbank schreiben
Ich habe hier ein Problem und komme echt nicht weiter.
Und zwar habe ich eine Sicherungsdatei (.txt) in der alle Datensätze mit dem Trennseperator "§" getrennt sind und die verschiedenen Datenblöcke stehen zeilenweise untereinander. also etwa: name§nachname§ort name1§nachname1§ort1 Nun möchte ich die Daten mittel folgenden Quellcode wieder in die Datenbank lesen, geht aber nicht ... $datenbank="test"; $tabelle="test"; $db=@mysql_connect() or die ("keine Verbidung zur Datenbank"); @mysql_select_db($datenbank, $db) or die ("keine Verbindung zur Datenbank"); $daten = file($userfile); for($b=0; $b<count($daten); $b++) { $dat= explode("§",$daten[$b]); $sql="INSERT INTO ".$tabelle."(anrede, vorname, name, ort) VALUES ("; for($c=0; $c<count($dat)-1; $c++) { $sql.="'".$dat[$c]."', "; } $sql.="'".$dat[$c]."');"; $res= mysql_query($sql, $db); echo $sql . "<br><br>"; } mysql_close($db); if($res) { echo "Schreiben abgeschlossen"; } else { echo "Bei dem Versuch, in die Tabelle zu schreiben ist ein Fehler aufgetreten: <br>nFehler-Nummer: <b>".mysql_errno($db)."</b><br>Fehler-Ausgabe: <br>".mysql_error($db)."</b>"; } } kann mir vielleicht mal jemand sagen wo der Fehler liegt? Fehlermeldung: Warning: 1 is not a valid MySQL-Link resource in test.php on line 78 Warning: 1 is not a valid MySQL-Link resource in test.php on line 79 Bei dem Versuch, in die Tabelle zu schreiben ist ein Fehler aufgetreten: |
hi
schau dir mal an wie du "mysql_connect" ausführst und vergleich es mal hier mit: mysql_connect($server, $username, $password) |
Hi Greetz,
der Fehler muss irgendwie in der Parameterübergabe für INSERT liegen, ich weiß nur nicht wo. Die Ausgabe von $sql sieht übrigens so aus: INSERT INTO kundendaten(anrede, vorname, name, ort) VALUES ('Herr', 'Tester', 'Mustermann', 'Musterstadt'); ... hier ist für mich kein Fehler ersichtlich - trotzdem funktioniert es nicht. |
Zwischen dem Tabellennamen und der öffnenden runden Klammer sollte eigentlich ein Leerzeichen sein.
Fehler in MySQL-Abfragen findest du übrigens relativ einfach durch Benutzung der Funktion mysql_error(): PHP-Code:
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:26:56 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.