CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
13.09.2003, 23:04:15
|
Anfänger
|
|
Registriert seit: Sep 2003
Beiträge: 45
|
|
Dateiimport zu mysql
So, hab da mal ne andere Frage.
Ich habe eine csv-Datei der so aus sieht:
Zitat:
2003;10;Album;Another World;Mike Koglin feat. Marine;
2003;4;Album;Back In Time;Time Travellers;
2003;8;Album;Darkside Of My Dreams;Nightwatchers;
.
.
.
|
Und eine sql-tabelle mit folgenden Spalten:
Zitat:
ID, jahr, nr, album, interpret, titel
|
Die Einträge in der *.csv sollen jetzt in die DB eingetragen werden, aber wie?
|
14.09.2003, 08:36:27
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 55
Beiträge: 4.748
|
|
Es gibt glaube ich eine Datei, die bei mySQL dabei ist, mit der man solche Dateien einlesen kann.
Ist mir aber entfallen.
Darum so:
PHP-Code:
<?php
$f=file('csv.txt');
for ($i=0; $i<count($f); $i++) {
$t=explode(';', $f[$i]);
mysql_query("INSERT INTO tabelle (jahr, nr, album, interpret, titel)
VALUES ('$f[0]', '$f[1]', '$f[2]', '$f[3]', '$f[4]');") or die(mysql_error());
}
?>
Alles klarofix? :)
|
14.09.2003, 16:07:12
|
Anfänger
|
|
Registriert seit: Sep 2003
Beiträge: 45
|
|
Besten dank.
Jetzt nur noch eine Frage. Wie wähle ich die Datei aus die irgendwo auf dem PC liegt und dann in die DB geschrieben werden soll?
Momentan bekomme ich noch diese Fehlermeldung:
Zitat:
Warning: file(mp3tag.csv) [function.file]: failed to create stream: No such file or directory in E:phpmp3mp3mp3_load.php on line 9
|
Ist ja auch klar, weil die Datei nicht in dem Verzeichnis liegt.
Und zum zweiten Problem. Wenn die Datei in dem Verzeichnis liegt werden auch die Daten in die DB geschrieben, aber irgendwie total falsch.Aussehen tut das in der DB so:
Zitat:
Bearbeiten Löschen 000001 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000002 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000003 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000004 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000005 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000006 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000007 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000008 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000009 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000010 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000011 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000012 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000013 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000014 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000015 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000016 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000017 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000018 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000019 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
Bearbeiten Löschen 000020 2003 2003 2003;8;CD2;Darkside Of My Drea 2003;5;CD2;Do Not Attempt;Kayl 2003;12;CD2;Drum & Bass;Future
|
Und zum vergleich die *.csv.
Zitat:
2003;10;Album;Another World;Mike Koglin feat. Marine;
2003;4;Album;Back In Time;Time Travellers;
2003;8;Album;Darkside Of My Dreams;Nightwatchers;
.
.
.
|
Was mache ich da falsch? Der Code sieht jetzt so aus.
PHP-Code:
<?php
include ("config.php");
$verbindung = @mysql_connect("$host","$name","$pw");
if (!$verbindung)
{
echo "Zur Zeit ist keine Verbindung zur Datenbank möglichn";
exit;
}
$f=file('mp3tag.csv');
for ($i=0; $i<count($f); $i++) {
$t=explode(';', $f[$i]);
mysql_query("INSERT INTO musik.mp3 (jahr, nr, album, interpret, titel)
VALUES ('$f[0]', '$f[1]', '$f[2]', '$f[3]', '$f[4]');") or die(mysql_error());
}
?>
|
14.09.2003, 16:10:25
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 55
Beiträge: 4.748
|
|
hehe. Ups! :)
In der mySQL-Abfrage muss das so lauten:
VALUES ('$t[0]', '$t[1]', '$t[2]', '$t[3]', '$t[4]')
|
14.09.2003, 16:14:28
|
Anfänger
|
|
Registriert seit: Sep 2003
Beiträge: 45
|
|
Boahhhh neee, jetzt auch noch das:
Zitat:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES ('2003', '10', 'CD2', 'Another World', 'Mike Koglin feat
|
Hab ich jetzt eine zu alte mysql Version?
|
14.09.2003, 16:18:32
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 55
Beiträge: 4.748
|
|
Ruhig bleiben - wäre doch langweilig, wenn's beim ersten Versuch klappen würde.
Zeig mal das komplette mysql_query()-Ding und dazu eine Auflistung der Feldtypen dieser Tabelle.
Zahlen dürfen in der Abfrage nicht in ' stehen, Zeichenketten dagegen müssen es.
|
14.09.2003, 16:21:35
|
Anfänger
|
|
Registriert seit: Sep 2003
Beiträge: 45
|
|
Du meinst jetzt das
PHP-Code:
<?php
include ("config.php");
$verbindung = @mysql_connect("$host","$name","$pw");
if (!$verbindung)
{
echo "Zur Zeit ist keine Verbindung zur Datenbank möglichn";
exit;
}
$f=file('mp3tag.csv');
for ($i=0; $i<count($f); $i++) {
$t=explode(';', $f[$i]);
mysql_query("INSERT INTO musik.mp3 (jahr, nr, album, interpret, titel)
VALUES VALUES ('$t[0]', '$t[1]', '$t[2]', '$t[3]', '$t[4]');") or die(mysql_error());
}
?>
und das?
PHP-Code:
DROP TABLE IF EXISTS `mp3`;
CREATE TABLE `mp3` (
`ID` mediumint(6) unsigned zerofill NOT NULL auto_increment,
`jahr` smallint(4) default NULL,
`nr` smallint(3) unsigned zerofill default NULL,
`album` varchar(30) default NULL,
`interpret` varchar(30) default NULL,
`titel` varchar(30) default NULL,
PRIMARY KEY (`ID`)
) TYPE=MyISAM;
|
14.09.2003, 16:25:09
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 55
Beiträge: 4.748
|
|
Jo, genau das meinte ich.
Versuch das mal:
VALUES ($t[0], $t[1], '$t[2]', '$t[3]', '$t[4]')
Übrigens steht bei Dir 2 mal VALUES -> 1 weg!
|
14.09.2003, 16:29:16
|
Anfänger
|
|
Registriert seit: Sep 2003
Beiträge: 45
|
|
Supa, das funzt.
Das Zahlen nicht in ' stehen dürfen, da hätte ich auch selbst drauf kommen können.
Und wie funzt das, das der User eine Datei auf seiner Platte aussuchen kann die in die DB geschrieben werden soll? Das ich da nen Upload irgendwie brauche ist klar, aber wie?
ne menge Fragen, weil soweit bin ich dann doch noch nicht. :D
|
14.09.2003, 16:31:28
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 55
Beiträge: 4.748
|
|
Zum Thema Upload kann ich nur die Suchfunktion des Boards empfehlen, denn das Thema Upload wurde schon oft genug durch die Mangel genommen. :)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 00:14:33 Uhr.
|