.CSV Datei in MySQL Tabelle importieren
Rayn
- php
0 Multi0 Vinzenz Mai0 Rayn0 Vinzenz Mai0 Rayn
0 frankx
Hallo Zusammen,
Folgendes:
Ich habe eine Excel Tabelle im .csv Format vorliegen.
Getrennt durch ;
Jetzt will ich diese Datei ( einladungsliste.csv ) in meine bereits bestehende Tabelle ( einladung ) importieren ( insert & update ).
Es gibt wohl verschiedene Möglichkeiten , allerdings hat bisher keine bei mir funktioniert.
Vielen Dank im Voraus
Rayn
Schön, das du es uns erzählst. Hast du auch eine Frage zum Thema oder wolltest du uns nur mit einer kleinen Geschichte erheitern?
Hallo
Jetzt will ich diese Datei ( einladungsliste.csv ) in meine bereits bestehende Tabelle ( einladung ) importieren ( insert & update ).
hört sich ja nicht übermäßig schwierig an.
Es gibt wohl verschiedene Möglichkeiten , allerdings hat bisher keine bei mir funktioniert.
Und was hast Du bisher versucht, woran bist Du gescheitert?
"Funktioniert nicht" ist keine Fehlerbeschreibung.
Freundliche Grüße
Vinzenz
Hallo Zusammen,
Folgendes:
Ich habe eine Excel Tabelle im .csv Format vorliegen.
Getrennt durch ;Jetzt will ich diese Datei ( einladungsliste.csv ) in meine bereits bestehende Tabelle ( einladung ) importieren ( insert & update ).
Es gibt wohl verschiedene Möglichkeiten , allerdings hat bisher keine bei mir funktioniert.
Vielen Dank im Voraus
Rayn
back @ Topic please !!
Ich denke mal das die beschriebung ausreichend ist um von euch vll den richtigen Gedankenanstoß zu bekommen !!
Mfg
Rayn
Hallo,
Ich denke mal das die beschriebung ausreichend ist
wo ist eine Beschreibung? Ich habe keine gesehen.
um von euch vll den richtigen Gedankenanstoß zu bekommen !!
Wie denn, ich habe keine Glaskugel, mit der ich herausfinden könnte, was Du versucht hast und welche Fehlermeldungen Du erhalten hast.
Wenn Du Hilfe haben willst, dann erläutere bitte Dein Problem.
Freundliche Grüße
Vinzenz
Das war mein letzter Versuch:
<?php
$db_MenuTitle[0] = "Eintrag 1";
$db_Hostname[0] = "mysql4.meine-domain.de";
$db_UserName[0] = "Mein Username";
$db_Password[0] = "Mein Passwort";
$db_Database[0] = "Mein Datenbanksname";
$db_Table[0] = "Mein Tabellenname";
$db_File[0] = "texttest.csv";
$db_Terminated[0] = ";";
if (isset ($select_db)) {
mysql_connect($db_Hostname[$select_db], $db_UserName[$select_db], $db_Password[$select_db]) || die("Can't Connect to Database: ".mysql_error());
mysql_select_db($db_Database[$select_db]);
$del = "DELETE FROM ".$db_Table[$select_db];
$sql = "LOAD DATA INFILE '$db_File[$select_db]' REPLACE INTO TABLE ".$db_Table[$select_db]." FIELDS TERMINATED BY '$db_Terminated[$select_db]'";
if (mysql_query ($del) and mysql_query ($sql)) {
$message = "Übertragung erfolgreich";
}
else {
$message = "Übertragung fehlgeschlagen. Grund: ". mysql_error ();
}
}
function generate_dropdown () {
global $db_MenuTitle, $db_Hostname, $db_UserName, $db_Password, $db_Table, $db_File, $db_Terminated;
if (is_array ($db_MenuTitle)) {
reset ($db_MenuTitle);
while (list ($key, $val) = each ($db_MenuTitle)) {
echo "<option value="".$key."">".$val."</option>";
}
}
}
?>
<html>
<head>
<title>CSV to SQL</title>
</head>
<body bgcolor="#EAEAEA">
<form action="<?php echo $PHP_SELF; ?>" method="POST">
<table border="0" cellspacing="0" cellpadding="5" bgcolor="#C0C0C0" width="50%">
<tr>
<th>CSV to MySQL</th>
<th> </th>
</tr>
<tr valign="bottom">
<td>
<select name="select_db" size="<?php echo count ($db_MenuTitle); ?>">
<?php generate_dropdown (); ?>
</select>
</td>
<td>
<input type="Submit" name="submit" value="Und los!">
</td>
</tr>
</table>
</form>
<p><?php echo $message; ?></p>
</body>
</html>
Folgende Fehlermeldung:
Übertragung fehlgeschlagen. Grund: Access denied for user 'Mein Datenbanksname'@'127.0.0.2' (using password: YES)
Aber die Daten sind richtig und sie funktioniern menütlich aufs neue ... wo ist also der Fehler ??
Rayn
Hallo
if (isset ($select_db)) {
Du verläßt Dich tatsächlich noch auf register_globals = on.
Das ist eine sehr schlechte Idee.
mysql_connect($db_Hostname[$select_db], $db_UserName[$select_db], $db_Password[$select_db]) || die("Can't Connect to Database: ".mysql_error());
was laut Fehlermeldung schief geht. Zu möglichen Ursachen siehe MySQL-Handbuch, 5.8.8. Gründe für Access denied-Fehler. die() ist übrigens _keine_ vernünftige Fehlerbehandlung.
$del = "DELETE FROM ".$db_Table[$select_db];
Folgende Fehlermeldung:
Übertragung fehlgeschlagen. Grund: Access denied for user 'Mein Datenbanksname'@'127.0.0.2' (using password: YES)
Aber die Daten sind richtig und sie funktioniern menütlich aufs neue ... wo ist also der Fehler ??
hmm, ich würde sagen, Du verwendest andere Zugangsdaten als Du denkst.
Freundliche Grüße
Vinzenz
Hallo
if (isset ($select_db)) {
Du verläßt Dich tatsächlich noch auf register_globals = on.
Das ist eine sehr schlechte Idee.mysql_connect($db_Hostname[$select_db], $db_UserName[$select_db], $db_Password[$select_db]) || die("Can't Connect to Database: ".mysql_error());
was laut Fehlermeldung schief geht. Zu möglichen Ursachen siehe MySQL-Handbuch, 5.8.8. Gründe für Access denied-Fehler. die() ist übrigens _keine_ vernünftige Fehlerbehandlung.
$del = "DELETE FROM ".$db_Table[$select_db];
Folgende Fehlermeldung:
Übertragung fehlgeschlagen. Grund: Access denied for user 'Mein Datenbanksname'@'127.0.0.2' (using password: YES)
Aber die Daten sind richtig und sie funktioniern menütlich aufs neue ... wo ist also der Fehler ??
hmm, ich würde sagen, Du verwendest andere Zugangsdaten als Du denkst.
Freundliche Grüße
Vinzenz
Mit den gleichen Zugangsdaten arbeite ich die ganze Zeit , daran kann es wirklich nicht liegen ...
Moin Moin!
Übertragung fehlgeschlagen. Grund: Access denied for user 'Mein Datenbanksname'@'127.0.0.2' (using password: YES)
Aber die Daten sind richtig und sie funktioniern menütlich aufs neue ... wo ist also der Fehler ??
hmm, ich würde sagen, Du verwendest andere Zugangsdaten als Du denkst.
Mit den gleichen Zugangsdaten arbeite ich die ganze Zeit , daran kann es wirklich nicht liegen ...
Da hat Deine Datenbank definitiv eine andere Meinung als Du. Die sagt ganz klar "DU KOMMST HIER NICHT REIN." Außer Benutzername und Password kann die DB u.a. auch noch die IP-Adresse des Clients oder Zertifikate prüfen, oder Kominationen davon.
Warum benutzt Du 127.0.0.2 und nicht 127.0.0.1?
Alexander
Moin Moin!
Übertragung fehlgeschlagen. Grund: Access denied for user 'Mein Datenbanksname'@'127.0.0.2' (using password: YES)
Aber die Daten sind richtig und sie funktioniern menütlich aufs neue ... wo ist also der Fehler ??
hmm, ich würde sagen, Du verwendest andere Zugangsdaten als Du denkst.
Mit den gleichen Zugangsdaten arbeite ich die ganze Zeit , daran kann es wirklich nicht liegen ...
Da hat Deine Datenbank definitiv eine andere Meinung als Du. Die sagt ganz klar "DU KOMMST HIER NICHT REIN." Außer Benutzername und Password kann die DB u.a. auch noch die IP-Adresse des Clients oder Zertifikate prüfen, oder Kominationen davon.
Warum benutzt Du 127.0.0.2 und nicht 127.0.0.1?
Alexander
Bei falschen ANgaben , habe ich einen Syntax Fehler bekommen , bei richtigen angaben nur die Fehlermeldung die ich selbst eingegeben habe.
Ich muss ...2 Benutzen weil dort meine DB liegt, ...1 ist eine andere DB.
Hat noch jemand eine Idee warum es nicht geht ?
Ich muss ...2 Benutzen weil dort meine DB liegt, ...1 ist eine andere DB.
Was die IP-Adresse 127.0.0.1 bedeutet, weisst du aber?
Im anderen Thread redest du davon, du wärst Programmierer. Ich hab immer mehr den Eindruck, du bist ein Kiddie, dem jegliche Grundlage zum Thema fehlt.
Ich muss ...2 Benutzen weil dort meine DB liegt, ...1 ist eine andere DB.
Was die IP-Adresse 127.0.0.1 bedeutet, weisst du aber?
Im anderen Thread redest du davon, du wärst Programmierer. Ich hab immer mehr den Eindruck, du bist ein Kiddie, dem jegliche Grundlage zum Thema fehlt.
1 = Host,
2 = DB
???
http://de.wikipedia.org/wiki/127.0.0.1
Ich weiss, ist schwer zu finden für einen "Programmierer" wie dich. Du solltest dir was anderes suchen, denn IMO bist du in einem Bereich, der Recherche verlangt, völlig falsch. Schonmal an ne Lehre als Bäcker gedacht?
Hallöle!
[...] Schonmal an ne Lehre als Bäcker gedacht?
Für einen, der so sensibel auf Kritik reagiert, kannst du aber ganz ordentlich austeilen.
File Griese,
Stonie
Hellihello
Ich denke mal das die beschriebung ausreichend ist um von euch vll den richtigen Gedankenanstoß zu bekommen !!
Jau: du musst deine Hand schon der helfenden entgegenstrecken, das hast du bereits zweimal gesagt bekommen. Jetzt zum dritten mal. Warum sagst Du denn blos nicht, was Du schon unternommen hast? Vinzenz hat Dir doch schon gesagt, dass das ggf. recht unkompliziert zu lösen ist, wenn Du die Rahmenbedingungen abklärst.
Wenn du lediglich festhalten willst, dass du schon alles korrekt gemacht hast, dann bleibts wohl dabei.
Als Denkanstoß noch: lies doch einfach die csv per PHPs fgetcsv() ein und schreib sie dann in die Datenbank mit PHPs mysql Funktionen.
Dank und Gruß,