Avatar billede jangravgaard Nybegynder
04. august 2003 - 19:40 Der er 3 kommentarer

Supplied argument is not a valid PostgreSQL result resource

Hej

Jeg har et problem med min connection til min postgre db

Der sker følgende

import af anden script fil med db klasse
Erklæring af funktion
Instantiering af db klasse og kald af db function (open)
funktionskald
kald til db function (close)


Koden :

        include_once("../php/postgredb.php"); 
        include_once("../php/php-funktioner.php");           
function CreateHtml($p_id){
       
        $html = "";
       
        #child
        if(is_numeric($p_id) AND isset($p_id)){
            $sql = "SELECT....'";
            $result = pg_exec($conn, $sql);
        #root
        }else{
            $rootsql = "SELECT....";
            $result = pg_exec($conn, $rootsql);   
           
            if(pg_numrows($result)==0){
                              .................
                  }

            CreateHtml($topic_id); //rekursivt kald

}

      #Open database
      $mydbclass = new dbclass();
      $conn = $mydbclass->opendb();
   
    CreateHtml($p);   

    #close connection to database
    $mydbclass->closedb($connection);   

Jeg får så nedenstående fejl meddelelse

Supplied argument is not a valid PostgreSQL result resource

Har tjekket min db funktioner i en anden fil og det virker fint.
Avatar billede sostack Nybegynder
05. august 2003 - 09:29 #1
Prøv med:
$result = pg_exec($conn, $rootsql) OR DIE(pg_errormessage());
for at få et mere sigende output fra pgs errorsystem.
desuden:
$conn = $mydbclass->opendb(); //hvilken db skal åbnes ?? står det i mydbclass ??
#close connection to database
    $mydbclass->closedb($connection);   
skal vel være:
#close connection to database
    $mydbclass->closedb($conn); //  da $conn = $mydbclass->opendb();

//sostack
Avatar billede jangravgaard Nybegynder
05. august 2003 - 22:12 #2
$conn variablen var bare en skrivefejl her på eksperten.
pg_errormessage() beskeden gav ikke nogen anden fejl besked.
Avatar billede jangravgaard Nybegynder
05. august 2003 - 22:22 #3
Klassen kan I se her :

<?php

class dbclass {
    var $dbmyhost;
    var $dbmyname;
    var $dbmyuser;
    var $dbmypass;
    var $dbmyport;
    var $dbmyconn;

  function dbclass(){
          return;
  }



  function opendb(){
    $this->dbmyhost = 'xxx';
    $this->dbmyport = '5432';
    $this->dbmyname = 'xxx';
    $this->dbmyuser = 'xxx';
    $this->dbmypass = 'xxx';
    $this->dbmyconn = pg_connect($this->dbmyhost,$this->dbmyport,$this->dbmyname,$this->dbmyuser,$this->dbmypass);
    return $this->dbmyconn;
  }

  function closedb($conn){
      if(!pg_close($conn)){
          echo "Kunne ikke lukke forbindelsen til PostGre!";
          return false;
      }else{
          return true;
      }
  }
}
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester