DB-Zugriff aber Datenanzeige will nich - warum?

Diskutiere mit über: DB-Zugriff aber Datenanzeige will nich - warum? im Web-Programmierung Forum

  1. Kryptaesthesie

    Kryptaesthesie Thread Starter MacUser Mitglied

    Beiträge:
    573
    Zustimmungen:
    6
    Registriert seit:
    17.05.2004
    Hallo.
    Die Verbindung zur DB funktioniert, aber das auslesen der Datensätze will nich. Wo liegt der Hase begraben?
    Ich bin Neuling und bin gerade ganz am Anfang und mein Chef will, dass ich mich da reinfuchse... :p

    Code:
    #!/usr/local/bin/php
    <?php
            print "Content-Type: text/html\r\n";
            print "\r\n";
            print "\r\n";
    
            print "<HTML><BODY>";
    
            $db = pg_connect("host=xyz port=5432 dbname=vtune user=xuser password=");
    
            if ($db)
            {
                print "Verbindung hergestellt zu: " . pg_host($db) . "<br/>\n";
                $db_select = @MYSQL_SELECT_DB("vtuneres");
                $result = mysql_query("SELECT * FROM lists");
                $menge  = mysql_num_rows($result);
                echo "<b>$menge Datensätze gefunden<br></b>";
                while($row = mysql_fetch_row($result))
                {
                    echo $row[0] . " - " . $row[1];
                    echo "<br><br>";
                }
            }
            else
            {
                print pg_last_error($db);
                print "</BODY></HTML>";
                exit;
            }
    
            pg_close( $db );
    
            print "</BODY></HTML>";
    
    ?>
    
    Die Daten kommen aus einer Postgre-DB. Wisst ihr wo dort noch ein Fehler sein könnte? Die Tabelle hat 2 Spalten.

    MfG Kryp
     
  2. Kryptaesthesie

    Kryptaesthesie Thread Starter MacUser Mitglied

    Beiträge:
    573
    Zustimmungen:
    6
    Registriert seit:
    17.05.2004
    ok, Fehler selber gefunden :)
    Überall wo MySQL im Code stand, musst, weil es sich um eine Postgre-DB handelt, pg hin! Das war's schon!! :p


    MfG Kryp
     
  3. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.035
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    Na, da hätten wir ja lange suchen können :D

    Kleiner Tipp, es gibt PHP-Tags im Forum:

    (PHP)
    Code
    (/PHP) // nat. in eckigen Klammern. Dann sieht Dein Listing so aus:

    PHP:
    #!/usr/local/bin/php
    <?php
    print "Content-Type: text/html\r\n";
    print 
    "\r\n";
    print 
    "\r\n";
    print 
    "<HTML><BODY>";
    $db pg_connect("host=xyz port=5432 dbname=vtune user=xuser password=");
    if (
    $db)
    {
    print 
    "Verbindung hergestellt zu: " pg_host($db) . "<br/>\n";
    $db_select = @MYSQL_SELECT_DB("vtuneres");
    $result mysql_query("SELECT * FROM lists");
    $menge  mysql_num_rows($result);
    echo 
    "<b>$menge Datensätze gefunden<br></b>";
    while(
    $row mysql_fetch_row($result))
    {
    echo 
    $row[0] . " - " $row[1];
    echo 
    "<br><br>";
    }
    }
    else
    {
    print 
    pg_last_error($db);
    print 
    "</BODY></HTML>";
    exit;
    }
    pg_close$db );
    print 
    "</BODY></HTML>";
    ?>
    und ist schonmal besser lesbar. Rufst Du das Skript als CGI auf oder per Webserver? In letzterem Fall brauchst Du die erste Zeile mit dem PHP-Interpreterpfad nicht!
     
  4. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.035
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    Noch ein Tipp:
    Die ganzen Erfolgsvergleiche führen zu elend lang verschachteltem Code:

    PHP:
    if (db_connect)
    {
      if (
    query)
      {
        while (
    result holen)
        {
        }
      }
      else
      {
        
    // keine query
      
    }
    }
    else
    {
      
    // keine DB
    }


    übersichtlicher wird es mit Negativ-Abfragen:
    PHP:
    if (! DB-connect)
    {
      print 
    "Keine DB verfügbar- Abbruch";
      exit;
    }

    if (! 
    $pg_query("SELECT *..."))
    {
     print 
    "Abfrage xyz gescheitert";
     exit;
    }

    while (
    results)
    {

    }

    pg_close();
     
  5. Kryptaesthesie

    Kryptaesthesie Thread Starter MacUser Mitglied

    Beiträge:
    573
    Zustimmungen:
    6
    Registriert seit:
    17.05.2004
    :) Da sage ich doch schon mal
    PHP:
    $Aussage == "Vielen";
    echo 
    $Aussage "Dank!";

    (War das denn wenigstens so richtig? :p



    MfG der jetzt weiter PHP-lernende Kryp ;)
     
  6. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.035
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    <haarspaltermodus>
    Wenn Du am Ende von "Vielen" oder am Anfang von "Dank!" ein Leerzeichen einfügst sieht es besser aus. Um den "." Operator nach Möglichkeit keine leerzeichen
    </haarspaltermodus>

    Viel Spaß beim Lernen ;)
     
  7. Nogger

    Nogger MacUser Mitglied

    Beiträge:
    367
    Zustimmungen:
    0
    Registriert seit:
    03.08.2004
    Warum? PHP erlaubt beliebigen Whitespace um Operatoren. Es ist sogar sinnvoll, der besseren Lesbarkeit wegen.
     
  8. michanismus

    michanismus MacUser Mitglied

    Beiträge:
    434
    Zustimmungen:
    0
    Registriert seit:
    23.08.2004
    Dem kann ich mich nur anschliessen. Was wäre wenn ich da überall kein Whitespace hätte. Da würde man ja nicht mehr durchsehen...

    Für mich stellt sich auch die Frage. Warum?
     
  9. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.035
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    Gut ich mag da etwas geplagt sein, aber ich habe schon erlebt, daß solche Ausdrücke eben nicht korrekt abgearbeitet wurden beim Punktoperator. Mag sein, daß das seit ettlichen PHP-Versionen wieder funktioniert. Gebranntes Kind ( ab PHP 3.0x) scheut das Feuer ;) Ich mache beim .-Operator nie whitespaces dazwischen, hab es aber auch seit Jahren nicht mehr anders probiert!
     
  10. Nogger

    Nogger MacUser Mitglied

    Beiträge:
    367
    Zustimmungen:
    0
    Registriert seit:
    03.08.2004
    Nee, dann war der Fehler woanders. Du hast ihn unbemerkt durch etwas anderes korrigiert und es dann dem Löschen der Leerzeichen zugeschrieben.
     
Die Seite wird geladen...
Ähnliche Themen - Zugriff aber Datenanzeige Forum Datum
Zugriff auf in Mutterklasse erzeugte Instanz, in PHP? Web-Programmierung 23.04.2011
Zugriff auf Script auf anderem Server Web-Programmierung 09.07.2009
ghostscript kompilieren auf Webserver ohne shell Zugriff Web-Programmierung 29.06.2009
Probleme beim Zugriff auf externe DB Web-Programmierung 06.04.2009
Zugriff auf lokalen Server klappt mit PHP-Eclipse nicht Web-Programmierung 21.01.2008

Diese Seite empfehlen

Benutzerdefinierte Suche