SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 13.09.2003, 23:04:15
Lars_oha Lars_oha ist offline
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?
Mit Zitat antworten
  #2  
Alt 14.09.2003, 08:36:27
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
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? :)
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 14.09.2003, 16:07:12
Lars_oha Lars_oha ist offline
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());
}
?>
Mit Zitat antworten
  #4  
Alt 14.09.2003, 16:10:25
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
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]')
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #5  
Alt 14.09.2003, 16:14:28
Lars_oha Lars_oha ist offline
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?
Mit Zitat antworten
  #6  
Alt 14.09.2003, 16:18:32
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
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.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #7  
Alt 14.09.2003, 16:21:35
Lars_oha Lars_oha ist offline
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` (
  `
IDmediumint(6unsigned zerofill NOT NULL auto_increment,
  `
jahrsmallint(4) default NULL,
  `
nrsmallint(3unsigned zerofill default NULL,
  `
albumvarchar(30) default NULL,
  `
interpretvarchar(30) default NULL,
  `
titelvarchar(30) default NULL,
  
PRIMARY KEY  (`ID`)
TYPE=MyISAM
Mit Zitat antworten
  #8  
Alt 14.09.2003, 16:25:09
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
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!
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #9  
Alt 14.09.2003, 16:29:16
Lars_oha Lars_oha ist offline
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
Mit Zitat antworten
  #10  
Alt 14.09.2003, 16:31:28
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
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. :)
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:13:26 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt