www.webdeveloper.com
Results 1 to 5 of 5

Thread: Fatal error: Call to a member function bindParam() on a non-object in

  1. #1
    Join Date
    Jun 2012
    Posts
    23

    Fatal error: Call to a member function bindParam() on a non-object in

    Hello,

    I got the error as in my title and I cant find the problem

    Here is the code of my class:

    PHP Code:
        public function GetPostcode($type$postcode=NULL$huisnr=NULL)
        {
            switch(
    $type)
            {
                case 
    "4XY":
                    
    $sql "SELECT wijkcode, rd_x, rd_y, lat, lon FROM `postcode`.`4XY`";
                    break;
                case 
    "5XY":
                    
    $sql "SELECT wijkcode, letter, rd_x, rd_y, lat, lon FROM `postcode`.`5XY`";
                    break;
                case 
    "6XY":
                    
    $sql "SELECT wijkcode, lettercombinatie, rd_x, rd_y, lat, lon FROM `postcode`.`6XY`";
                    break;
                case 
    "HuisnummerXY":
                    
    $sql "SELECT nummeraanduidingid, wijkcode, lettercombinatie, huisnr, huisnr_toevoeging, rd_x, rd_y, lat, lon FROM `postcode`.`huisnummerXY`";
                    break;
            }
            if(!empty(
    $postcode))
            {
                switch(
    $type)
                {
                    case 
    "4XY":
                        
    $sql .= " WHERE wijkcode=:postcode";
                        break;
                    case 
    "5XY":
                        
    $sql .= " WHERE wijkcode=:postcode AND letter=:lettercomb";
                        break;
                    case 
    "6XY":
                        
    $sql .= " WHERE wijkcode=:postcode AND lettercombinatie=:lettercomb";
                        break;
                    case 
    "HuisnummerXY":
                        
    $sql .= " WHERE wijkcode=:postcode AND lettercombinatie=:lettercomb AND huisnr=:huisnr";
                        break;
                }
            }
            try
            {
                
    $stmt $this->db->prepare($sql);
                if(!empty(
    $postcode))
                {
                    
    $stmt->bindParam(":postcode"substr($postcode04), PDO::PARAM_INT);
                    switch(
    $type)
                    {
                        case 
    "4XY":
                            break;
                        case 
    "5XY":
                            
    $stmt->bindParam(":lettercomb"substr($postcode41), PDO::PARAM_STR);
                            break;
                        case 
    "6XY":
                            
    $stmt->bindParam(":lettercomb"substr($postcode42), PDO::PARAM_STR);
                            break;
                        case 
    "HuisnummerXY":
                            
    $stmt->bindParam(":lettercomb"substr($postcode42), PDO::PARAM_STR);
                            
    $stmt->bindParam(":huisnr"trim($huisnr), PDO::PARAM_INT);
                            break;
                    }
                }
                
    $stmt->execute();
                
    $this->postcodelijst $stmt->fetchAll(PDO::FETCH_OBJ);
                
    $stmt->closeCursor();

                return 
    $this->postcodelijst;
            }
            catch (
    Exception $e)
            {
                die (
    $e->getMessage());
            }
        } 
    Maybe a fresh look will help me out.

    Thanks for any help!

  2. #2
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    19,174
    PHP Code:
    $stmt $this->db->prepare($sql);
    if(
    $stmt == false) {
       throw new 
    Exception($this->db->errorInfo()."\n".$sql);

    "Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
    ~ Terry Pratchett in Nation

    eBookworm.us

  3. #3
    Join Date
    Jun 2012
    Posts
    23
    Hey thanks for the reply when I put that piece of code between I get this output:

    Code:
    Array SELECT wijkcode, lettercombinatie, rd_x, rd_y, lat, lon FROM `postcode`.`6XY` WHERE wijkcode=:postcode AND lettercombinatie=:lettercomb
    I still dont have a clue whats wrong... anybody is seeing what is going wrong?

  4. #4
    Join Date
    Jun 2012
    Posts
    23
    Solved! User didnt had acces to the database... Very stupid mistake of me

  5. #5
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    19,174
    Just FYI, I forgot that errorInfo() returns an array, not a string. So in case anyone else gets here on a web search:
    PHP Code:
    if($stmt == false) {
       
    $errorText print_r($this->db->errorInfo(), true);
       throw new 
    Exception($errorText."\n".$sql);

    "Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
    ~ Terry Pratchett in Nation

    eBookworm.us

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles