Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PostgreSQL SELECT in pgAdmin3 und PHP

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] PostgreSQL SELECT in pgAdmin3 und PHP

    Hallo Community,

    da ist man von dem einen Fehler entfernt kommt der nächste Angetrampelt.
    Nundenn ich will meine Tabelle (welche ne ID, ne host, ne user und ne pass spalte hat) auslesen lassen. In pgAdmin3 läuft es ohne Probleme auch mit der Selbstgeschriebenen, wenn ich diese allerdings in php mit "pg_query" ausführe wird mir im hohen Bogen ne Fehlermeldung zugeworfen.
    Der SQL-Code:
    Code:
    SELECT "user", pass, id, host
      FROM ftp;
    Der PHP-Code:
    PHP-Code:
    <?php
    //Verbindung wird hergestellt (Kein Fehler)
    $pgconn pg_connect("host=localhost user=postgres password=12345 dbname=postgres");
    if(!
    $pgconn) die("Fehler beim vebrinden<br>".pg_last_error($pgconn));
    //Abfrage der Tabelle (Hier kommt der Fehler)
    $query pg_query('SELECT "user", pass, id, host
      FROM ftp;
    '
    );
    if(!
    $query) die("Fehler beim Queryen<br>".pg_last_error($pgconn));
    while(
    $row pg_fetch_assoc($query)){
        global 
    $n;
        
    $n++;
    }
    var_dump($result);
    //Hier kommt dann bisl FTP-Kram
    $ftp ftp_connect("192.168.2.5");
    if(
    ftp_login($ftp"ftp""12345")){
        if(
    ftp_put($ftp,"ftp.txt""ftp.txt"FTP_ASCII)){
            
        }else{
            echo
    "Fehler beim hochladen";
        }
    }else{
        echo
    "Fehler beim Login";
    }
    echo 
    $n;
    Und der nette Fehler:
    Code:
    ERROR: relation "ftp" does not exist LINE 2: FROM ftp; ^
    aber wie bereits erwähnt erscheint dieser Fehler in pgAdmin3 nicht auf.

    MFG paulnator2112

  • #2
    In welcher DB befindet sich deine Tabelle "ftp"?
    ET-Chat v3 - Chatscript basierend auf PHP und AJAX
    iserlohn maps - Geoportal mit freier Software

    Kommentar


    • #3
      Zitat von paulnator2112 Beitrag anzeigen
      Und der nette Fehler:
      Code:
      ERROR: relation "ftp" does not exist LINE 2: FROM ftp; ^
      aber wie bereits erwähnt erscheint dieser Fehler in pgAdmin3 nicht auf.

      MFG paulnator2112
      Ein Blick in den Kaffeesatz, warte, ich rühr noch mal um, so, jetzt: Du hast die Tabelle in PGAdmin angelegt und dabei Großbuchstaben verwendet. PGAdmin macht dann selbstständig passendes Quoting. Aber nur PGAdmin, andere Clients nicht. Du hast als tatsächlich keine Tabelle "ftp", dafür aber "fTP" oder FtP" oder "FTp" oder, ...

      Du solltest:
      • dich auch mit psql beschäftigen, dem CLI für PostgreSQL
      • auf Groß/Kleinschreibung insbesondere im PGAdmin achten
      • nicht als User postgres in dessen DB arbeiten


      Du machst eine Abfrage ohne WHERE, holst alle Zeilen und zählst nur hoch. Nicht sonderlich schlau.
      PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

      Kommentar


      • #4
        @EvgeniT:
        sie befindet sich in der Datenbank "postgres" im Schemata "public"

        @akretschmer:
        Ja ich habe sie in PGAdmin angelegt aber, nein ich habe alles in kleinbuchstaben geschrieben, das mit dem Auslesen und hochzählen ist zur vorbereitung (es soll später zu einem zufälligen Host verbinden und via FTP ne Datei hochladen. Das mit dem Hochzählen ist dafür die die maximale zahl für mt_rand zu kriegen.

        MFG paulnator2112

        Kommentar


        • #5
          Zitat von paulnator2112 Beitrag anzeigen
          @akretschmer:
          Ja ich habe sie in PGAdmin angelegt aber, nein ich habe alles in kleinbuchstaben geschrieben,
          Der Kaffeesatz von heute ist halt auch nicht mehr, was es früher mal war...

          das mit dem Auslesen und hochzählen ist zur vorbereitung (es soll später zu einem zufälligen Host verbinden und via FTP ne Datei hochladen. Das mit dem Hochzählen ist dafür die die maximale zahl für mt_rand zu kriegen.

          MFG paulnator2112

          Ich sehe die CLOUD. Voller Fragezeichen.
          PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

          Kommentar


          • #6
            Was meinste mit "CLOUD", und dass mit dem Kaffesatz, nunja was soll ich dazu halt noch groß mehr sagen? Ich kann ja auch nur dass sagen was ich weiß und wie es mir angezeigt wird.

            MFG paulnator2112

            Kommentar


            • #7
              Zitat von paulnator2112 Beitrag anzeigen
              Ich kann ja auch nur dass sagen was ich weiß und wie es mir angezeigt wird.

              MFG paulnator2112
              Code:
              test=# create table "fTP" (i int);
              CREATE TABLE
              test=*# create table "Ftp" (i int);
              CREATE TABLE
              test=*# create table "FtP" (i int);
              CREATE TABLE
              test=*# create table "fTp" (i int);
              CREATE TABLE
              test=*# select table_name from information_schema.tables where table_name ~* 'ftp';
               table_name
              ------------
               fTP
               Ftp
               FtP
               fTp
              (4 rows)
              PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

              Kommentar


              • #8
                Also das mit dem
                Code:
                select table_name from information_schema.tables where table_name ~* 'ftp';
                Hat mir gesagt dass die Tabelle "ftp" heißt (also nichts mit groß und klein schreibung).
                Dies bedeutet dass mir eigentlich kein Fehler angzeigt werden dürfte!

                MFG paulnator2112

                Kommentar


                • #9
                  Zitat von paulnator2112 Beitrag anzeigen
                  Also das mit dem
                  Code:
                  select table_name from information_schema.tables where table_name ~* 'ftp';
                  Hat mir gesagt dass die Tabelle "ftp" heißt (also nichts mit groß und klein schreibung).
                  Dies bedeutet dass mir eigentlich kein Fehler angzeigt werden dürfte!

                  MFG paulnator2112
                  Das hast jetzt vermutlich in PGAdmin gemacht, oder? Vermutlich bist Du da doch in einer anderen DB als bei dem, was Du in PHP treibst.
                  PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                  Kommentar


                  • #10
                    Nein dies habe ich in der psql shell gemacht

                    Kommentar


                    • #11
                      Zitat von paulnator2112 Beitrag anzeigen
                      Nein dies habe ich in der psql shell gemacht
                      Dann vergess den ersten Satz meiner letzten Antwort und prüfe den 2.
                      PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                      Kommentar


                      • #12
                        Nungut, Fehler gefunden, im Connectionstring falsche Datenbank eingetragen, hehe mein Fehler. Danke für die vielen Antworten.

                        MFG paulnator2112

                        Kommentar

                        Lädt...
                        X