Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Datenbankabruf mit PHP[gelöst]

  1. #1
    sqlman ist offline Neuer Benutzer
    Registriert seit
    10.04.2006
    Beiträge
    13

    Standard Datenbankabruf mit PHP[gelöst]

    Hi Leute!

    Ich habe vor zwei Tagen mit PostgreSQL und PHP angefangen. Neben dem Manual von PostgreSQL habe ich mir noch ein Buch über PHP und ein Tutorial über PHP und Postgres gegeben ;-)

    Tja, aber leider stecke ich derzeit fest und komme einfach nicht weiter.
    Ich habe auf dem Server mit PostgreSQL eine kleine Datenbank zum Testen gebaut und würde diese jetzt gerne übers Web (erstmal im LAN) abrufen.

    Ich habe:
    PostgreSQL 7.4.7
    Apache-SSL 1.33
    PHP Version 4.3.10-16.

    Apache, PostgreSQL und PHP arbeiten an sich einwandfrei.

    Mein Problem besteht bereits am Anfang: Ich kann zu der Datenbank keine Verbindung aufnehmen, obwohl die Angaben alle korrekt sind.

    Der folgende Php-Code
    Code:
    <html>
    	<title>Erste Datenbank </title>
    	<body>
    		<h2>Erste Datenbank </h2>
    		
    		<?
    			echo "Test1..
    \n";
    			$host="localhost";
    			$port="5432";
    			$user="sqlusr";
    			$password="";
    			$dbname="mz";
    			$connection = pg_connect&#40;"dbname=$dbname
    												user=$user
    												host=$host
    												port=$port"&#41;;
    
    			echo "Test2..
    \n";
    			$db=pg_dbname&#40;$connection&#41;;
    			echo "Test3..
    \n";
    			echo "Name der Datenbank ist $db.
    \n";
    		
    		?>
    		
    	</body>
    </html>
    erzeugt folgenden Fehler
    Code:
    Erste Datenbank
    Test1..
    
    Fatal error&#58; Call to undefined function&#58; pg_connect&#40;&#41; in /var/www/php5/index.php on line 13
    Ich weiss einfach nicht, woran das liegt. Laut dem Tutorial sollte es mit pq_connect() funktionieren. Es ist doch alles richtig, oder?

    Ich habe es auch mal mit
    Code:
    $conn=@pg_connect&#40;...&#41; or die&#40;...&#41;;
    ausprobiert, aber da kam nicht einmal die Meldung, die in "die(..)" steht.
    Code:
    echo "Name der Datenbank ist $db.
    \n";
    wird auch nicht ausgeführt.
    Also er kommt erst garnicht so weit :-(

    Ich habe noch nachgeguckt (phpinfo) und es sagt:

    dbx
    dbx support enabled
    dbx version 1.0.0
    supported databases MySQL ODBC PostgreSQL Microsoft SQL Server FrontBase Oracle 8 (oci8) Sybase-CT
    Wäre jemand von Euch so nett und würde mir helfen?
    Vielleicht habe ich ja doch was übersehen.
    Viele Grüsse
    sqlman

    Ich habe:
    PostgreSQL 7.4.7
    Apache-SSL 1.33
    PHP Version 4.3.10-16.

  2. #2
    Avatar von Xandrian
    Xandrian ist offline Administrator
    Registriert seit
    23.11.2005
    Ort
    Bayreuth, Bayern, Germany, 106332342737801, Bayreuth, Germany
    Beiträge
    1.495

    Standard

    hi,

    so wie es ausschaut ist der postgresql support nicht installiert. bitte den admin deines server die postgresql packete zu installieren. bei debian ubuntu ist das php4-pgsql bzw php5-pgsql...

    cu tb.
    pg-forum.de unterstützen? Meine Wunschliste


  3. #3
    sqlman ist offline Neuer Benutzer
    Registriert seit
    10.04.2006
    Beiträge
    13

    Standard

    Hi Xandrian!

    Ja in der Tat. Jetzt bekomme ich andere Fehlermeldungen - aber es klappt!

    >> Vielen herzlichen Dank !! <<

    und viele Grüsse!
    sqlman

  4. #4
    sqlman ist offline Neuer Benutzer
    Registriert seit
    10.04.2006
    Beiträge
    13

    Standard

    Jetzt sagt er:
    Code:
    Erste Datenbank
    Test1..
    
    Warning&#58; pg_connect&#40;&#41;&#58; Unable to connect to PostgreSQL server&#58; FATAL&#58; IDENT authentication failed for user "sqlusr" in /var/www/php5/index.php on line 16
    Test2..
    
    Warning&#58; pg_dbname&#40;&#41;&#58; supplied argument is not a valid PostgreSQL link resource in /var/www/php5/index.php on line 19
    Test3..
    Name der Datenbank ist .
    Dabei habe ich doch mit
    Code:
    createuser sqlusr
    den Benutzer doch erstellt.
    Der User "sqlusr" verfügt über kein Passwort - zumindest habe ich keins angegeben.

    :roll:

    Viele Grüsse
    sqlman

  5. #5
    sqlman ist offline Neuer Benutzer
    Registriert seit
    10.04.2006
    Beiträge
    13

    Standard

    Hmm, könnte es daran liegen
    Code:
    mz=# \d
               List of relations
     Schema |   Name    | Type  |  Owner   
    --------+-----------+-------+----------
     public | computers | table | postgres
    &#40;1 row&#41;
    
    mz=# select current_user;
     current_user 
    --------------
     postgres
    &#40;1 row&#41;
    dass postgres der Owner ist?

    Viele Grüsse

    sqlman

  6. #6
    sqlman ist offline Neuer Benutzer
    Registriert seit
    10.04.2006
    Beiträge
    13

    Standard

    Hi,

    naja, ich habe jetzt den Owner gewechselt
    Code:
    mz=# ALTER TABLE computers OWNER TO sqlusr;
    ALTER TABLE
    mz=# \d
              List of relations
     Schema |   Name    | Type  | Owner  
    --------+-----------+-------+--------
     public | computers | table | sqlusr
    &#40;1 row&#41;
    
    mz=#
    aber es heisst immernoch:
    Warning: pg_connect(): Unable to connect to PostgreSQL server: FATAL: IDENT authentication failed for user "sqlusr" in /var/www/php5/index.php on line 16
    :-(

    Was habe ich falsch gemacht?

    Danke und Viele Grüsse
    sqlman

  7. #7
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Das Problem dürfte eher hierin bestehen:

    http://www.postgresql.org/docs/curre...ntication.html

    Nach der Lektüre dieses Dokumentes dürftest du wissen, wie du deinem Client aus dem LAN den connect erlaubst.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  8. #8
    sqlman ist offline Neuer Benutzer
    Registriert seit
    10.04.2006
    Beiträge
    13

    Standard

    Hi Ads,

    ich danke Dir herzlich für den Hinweis.
    Ich habe diesen Abschnitt der Doku überflogen.
    Was ich vergessen habe zu tun, war in der Datei
    /etc/postgresql/pg_hba.conf
    den folgenden Eintrag zu machen:
    Code:
    # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
    local   all         all                               trust
    ACHTUNG: Natürlich muss man später, wenn die Datenbank läuft, gewisse restriktive Änderungen vornehmen - aber für den Anfang reicht das.

    Viele Grüsse
    sqlman

    PS: Für die Leute, die nicht darauf kommen sollten:
    Nach der Änderung der besagten Konfigurationsdatei muss man postgresql natürlich neustarten

  9. #9
    Avatar von Xandrian
    Xandrian ist offline Administrator
    Registriert seit
    23.11.2005
    Ort
    Bayreuth, Bayern, Germany, 106332342737801, Bayreuth, Germany
    Beiträge
    1.495

    Standard

    Zitat Zitat von sqlman
    PS: Für die Leute, die nicht darauf kommen sollten:
    Nach der Änderung der besagten Konfigurationsdatei muss man postgresql natürlich neustarten
    falsch :P ein reload reicht! vor allem für produktiv systeme interessant weil so der db server nicht weg ist aber die einstellungen auch wirksam werden...

    cu tb.
    pg-forum.de unterstützen? Meine Wunschliste


  10. #10
    fristo ist offline Super-Moderator
    Registriert seit
    08.12.2005
    Ort
    Raum Frankfurt/Main
    Beiträge
    668

    Standard

    Hallo Xandrian,

    "reload": Was beschreibt man damit, wie macht man das?


    mfg

    fristo

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Gelöst: performance probleme beim inserten
    Von traxanos im Forum Allgemeines
    Antworten: 33
    Letzter Beitrag: 03.07.2009, 12:47
  2. Einträge in die Datenbank einfügen[gelöst]
    Von sqlman im Forum Programmierung
    Antworten: 3
    Letzter Beitrag: 10.04.2006, 18:31
  3. mehrere unteranfragen - gelöst -
    Von Crypi im Forum SQL
    Antworten: 12
    Letzter Beitrag: 22.03.2006, 09:38

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