Ergebnis 1 bis 3 von 3

Thema: PHP -> Probleme mit Leerzeilen beim Einfügen von Daten

  1. #1
    Rieme ist offline Neuer Benutzer
    Registriert seit
    10.12.2009
    Beiträge
    1

    Standard PHP -> Probleme mit Leerzeilen beim Einfügen von Daten

    Hallo zusammen,

    Ich hab ein PHP Skript das mir die Daten aus einem Textfile in die Datenbank einliest. Hier der Code:

    Code:
    <?php
    $datei = file("Daten/fachrichtung.txt");
    
    $dbconn = pg_pconnect("host=localhost port=5432 dbname=complain user=postgres password=****");
    
    foreach($datei AS $ausgabe)
       {
           $zerlegen = explode("!", $ausgabe);
    
        $bezeichnung = utf8_encode(trim($zerlegen[0]));
        $kurz = utf8_encode(trim($zerlegen[1]));
    
        $abfrage = "INSERT INTO fachrichtung(bezeichnung, kurzel)
        VALUES ('".$bezeichnung."','".$kurz."');";
    
        $result = pg_query($dbconn, $abfrage);
    }
    Mein Problem ist, dass wenn die Variable $kurz mal Leer sein sollte immer in die Datenbank die einfachen Anführungszeichen '' anstatts ein leerstring eingetragen wird. Jemand eine Idee an was das liegen könnt?

    Gruß

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von Rieme Beitrag anzeigen
    Hallo zusammen,

    Ich hab ein PHP Skript das mir die Daten aus einem Textfile in die Datenbank einliest. Hier der Code:

    Code:
    <?php
    $datei = file("Daten/fachrichtung.txt");
    
    $dbconn = pg_pconnect("host=localhost port=5432 dbname=complain user=postgres password=****");
    
    foreach($datei AS $ausgabe)
       {
           $zerlegen = explode("!", $ausgabe);
    
        $bezeichnung = utf8_encode(trim($zerlegen[0]));
        $kurz = utf8_encode(trim($zerlegen[1]));
    
        $abfrage = "INSERT INTO fachrichtung(bezeichnung, kurzel)
        VALUES ('".$bezeichnung."','".$kurz."');";
    
        $result = pg_query($dbconn, $abfrage);
    }
    Mein Problem ist, dass wenn die Variable $kurz mal Leer sein sollte immer in die Datenbank die einfachen Anführungszeichen '' anstatts ein leerstring eingetragen wird. Jemand eine Idee an was das liegen könnt?

    Gruß
    Warum einklich PHP für sowas?

    Code:
    test=# create table rieme (col1 text,col2 text);
    CREATE TABLE
    Zeit: 10,126 ms
    test=*# copy rieme from stdin delimiter '!';
    Geben Sie die zu kopierenden Daten ein, gefolgt von einem Zeilenende.
    Beenden Sie mit einem Backslash und einem Punkt alleine auf einer Zeile.
    >> das!geht
    >> auch!einfacher
    >> wenn!
    >> man!
    >> es!
    >> richtig!macht
    >> \.
    Zeit: 30908,396 ms
    test=*# select * from rieme ;
      col1   |   col2
    ---------+-----------
     das     | geht
     auch    | einfacher
     wenn    |
     man     |
     es      |
     richtig | macht
    (6 Zeilen)
    
    Zeit: 0,227 ms
    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    Avatar von progs
    progs ist offline Super-Moderator
    Registriert seit
    26.11.2005
    Ort
    Kulmbach, Bayern, Germany, 108121049209415, Kulmbach
    Beiträge
    185

    Standard

    Du kannst Dir ja auch mal mit echo den SQL-Befehl ausgeben und schauen, wass dann für $kurz drinnen steht. Vielleicht ist die Variable nicht leer, sondern hat die Anführungszeichen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum