php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.07.2008, 23:54  
Neuer Benutzer
 
Registriert seit: 16.07.2008
Beiträge: 18
RedDragon befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Problem bei INSERTEN INTO

Hi,

ich hab mich jetzt nach stunden langem versuchen dazu entschlossen mein Problem mit jemandem zu teilen!
Folgendes haut also nicht hin:
PHP-Code:
$row 1
$handle fopen("ad2.csv""r"); 
while ((
$data fgetcsv($handle10000",")) !== FALSE) { 
    
$num count($data); 
    
$row++; 
    for (
$c=0$c $num$c++) { 
    
$na $c
    if (
$na == ){ 
    
$ma "geschlecht"
    } 
    if (
$na == ){ 
    
$ma "vorname"
    } 
    if (
$na == ){ 
    
$ma "nachname"
    } 
    if (
$na == ){ 
    
$ma "Straßenname"
    } 
    if (
$na == ){ 
    
$ma "Postleitzahl"
    } 
    if (
$na == ){ 
    
$ma "Ort"
    } 

    echo 
$ma
    
$dat $data[$c]; 
    echo 
$dat
    echo 
"<br/>"
    
mysql_query("INSERT INTO adressen1 ($ma) VALUES ('$dat')"); 
Diese Script gibt via echo die zu erwartenden inhalte aus. Aber er will es einfach nicht in die Datenbank schreiben!

Kann da jemand helfen?
Allgemein versuch ich eine csv datei in sql zu importiern. Ich hab schon alles ausprobiert auch via phpmyadmin. Aber es will einfach nichts klappen!

gruß Jesse
RedDragon ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.07.2008, 00:03  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Was auch immer du da machst. Schreibe mal am Ende deines Skriptes folgendes anstatt dem jetzigen:

PHP-Code:
<?php
echo $ma
$dat $data[$c]; 
echo 
$dat
echo 
"<br/>"
$query "INSERT INTO adressen1 ($ma) VALUES ('$dat')";
echo 
$query;
mysql_query($query);
Wenn du dir den Query mal ausgeben lässt wirst du sehen wo der Fehler liegt Kannst ja mal den Query dann hier posten.
Flor1an ist offline  
Alt 17.07.2008, 00:45  
Neuer Benutzer
 
Registriert seit: 16.07.2008
Beiträge: 18
RedDragon befindet sich auf einem aufstrebenden Ast
Standard

Danke für die schnell Antwort!
Bei dem Teil:
PHP-Code:
$query "INSERT INTO adressen1 ($ma) VALUES ($dat)";
         echo 
$query
bekomm ich folgendes Ausgegeben:
INSERT INTO adressen1 (geschlecht) VALUES (G)
INSERT INTO adressen1 (vorname) VALUES (Vorname)

Also genau das was es sein müsste. Aber in die Datenbank wird es nicht so übernommen!

Jesse
RedDragon ist offline  
Alt 17.07.2008, 00:57  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Nö. String-Werte gehören in Stringbegrenzer
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 17.07.2008, 01:01  
Neuer Benutzer
 
Registriert seit: 16.07.2008
Beiträge: 18
RedDragon befindet sich auf einem aufstrebenden Ast
Standard

???ehm sry...und das heißt......
RedDragon ist offline  
Alt 17.07.2008, 08:20  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

INSERT INTO adressen1 (vorname) VALUES ('Red')

EDIT:
Und bitte mysql_query($query) or die(mysql_error()); benutzen

Wird das eigentlich niemandem beigebracht?

Geändert von cycap (17.07.2008 um 08:22 Uhr).
cycap ist offline  
Alt 17.07.2008, 09:07  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von RedDragon Beitrag anzeigen
???ehm sry...und das heißt......
Aber was Strings sind, weisst du schon?

Ausserdem brauchst doch du doch nicht für jedes Attribut einen eigenen Insert, das geht doch alles auf einmal. Mit dem folgenden Code schmeisst du all Daten mit einer einzigen Abfrage in die DB (ich gehe jetzt mal davon aus, dass dein Attribut «strassenname» und nicht - wo finde ich jetzt dieses verdammte Zeichen - «straßenname» heisst):
PHP-Code:
$handle fopen("ad2.csv""r");
$db_daten = array();
while ((
$data fgetcsv($handle10000",")) !== FALSE) {
    
$db_daten[] "('" implode("', '"$data) . "')";
}
$sql "
    INSERT INTO dressen1 (
        geschlecht,
        vorname,
        nachname,
        strassenname,
        postleitzahl,
        ort
    )
    VALUES ('"
            
implode(",\n"$db_daten) . "'
        )"
;     
echo 
"$sql<br />"// Nur zu Testzwecken
mysql_query($sql) or exit(mysql_error()); 
Noch einfacher wäre es in dem Fall mit LOAD DATA INFILE
__________________
Gruss
L

Geändert von lazydog (17.07.2008 um 16:42 Uhr).
lazydog ist offline  
Alt 17.07.2008, 09:11  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

@lazy: dein Code bringt aber ein ganz anderes Ergebnis als seiner, er legt ja für jeden Wert nen neuen Datensatz an... da das wenig Sinn macht ist dein Code wohl so oder so der richtige
cycap ist offline  
Alt 17.07.2008, 09:43  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von cycap Beitrag anzeigen
er legt ja für jeden Wert nen neuen Datensatz an...
Da hast du recht, er weiss offensichtlich nicht nur nicht, was ein String ist, sondern auch nicht was ein Datenbankeintrag. Stell mir jetzt einfach mal vor, was dann herauskommt, wenn er es so macht:
Code:
mysql> SELECT * FROM adressen1;
+------------+---------+----------+----------------+--------------+----------+
| geschlecht | vorname | nachname | strassenname   | postleitzahl | ort      |
+------------+---------+----------+----------------+--------------+----------+
| m          |    NULL |     NULL |           NULL |         NULL |     NULL |
|       NULL | Fritz   |     NULL |           NULL |         NULL |     NULL |
|       NULL |    NULL | Schulz   |           NULL |         NULL |     NULL |
|       NULL |    NULL |     NULL | Friedhofstr. 1 |         NULL |     NULL |
|       NULL |    NULL |     NULL |           NULL |       999999 |     NULL |
|       NULL |    NULL |     NULL |           NULL |         NULL | Irgendwo |
| w          |    NULL |     NULL |           NULL |         NULL |     NULL |
|       NULL | Ulla    |     NULL |           NULL |         NULL |     NULL |
|       NULL |    NULL | Maier    |           NULL |         NULL |     NULL |
|       NULL |    NULL |     NULL | Waldweg 88     |         NULL |     NULL |
|       NULL |    NULL |     NULL |           NULL |       777777 |     NULL |
|       NULL |    NULL |     NULL |           NULL |         NULL | Anderswo |
+------------+---------+----------+----------------+--------------+----------+
__________________
Gruss
L

Geändert von lazydog (17.07.2008 um 09:51 Uhr).
lazydog ist offline  
Alt 17.07.2008, 09:44  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

schon cool wozu brauch man denn sowas?
cycap ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] problem mit der syntax in einer schleife chrischi2011 PHP Tipps 2008 20 25.07.2008 16:25
[Erledigt] Textarea: Einlesen - Problem.. Softyx PHP Tipps 2008 2 05.07.2008 12:49
[Erledigt] problem mit mysql db.. philipp_php PHP Tipps 2008 14 05.07.2008 04:19
[Erledigt] Galerie - Bilder nebeneinander Problem noOx PHP Tipps 2008 14 03.07.2008 23:48
[Erledigt] Sicherheitsfrage mit Sessions - Problem mit Intellitamper Leibi PHP-Fortgeschrittene 26 03.07.2008 12:38
[Erledigt] Statistik Script Referrer Problem 7Style PHP Tipps 2008 28 01.07.2008 15:14
[Erledigt] MySql Frage: Problem mit einer etwas lomplexeren Abfrage tomtaz Datenbanken 5 24.06.2008 22:36
[Erledigt] Problem mit Grafik pfump PHP Tipps 2008 7 23.06.2008 11:24
Pathfinding Algorithmus optimieren? (Algorith. von Dijkstra) Martin13 PHP Tipps 2007 19 04.09.2007 19:20
Verständnisprobleme bei Utf8 > Character Set > Collate erna Datenbanken 4 20.03.2007 14:08
PRoblem mit Cookie bei PHPbb-Board PHP Tipps 2007 8 12.12.2005 20:56
Problem mit while und insert into PHP Tipps 2005-2 6 15.08.2005 19:29
[Erledigt] Problem mit INSERT INTO befehl Datenbanken 2 04.11.2004 16:03
dem verzweifeln nahe PHP Tipps 2004 26 24.10.2004 17:28
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:58 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum