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 ( $postcode , 0 , 4 ), PDO :: PARAM_INT );
switch( $type )
{
case "4XY" :
break;
case "5XY" :
$stmt -> bindParam ( ":lettercomb" , substr ( $postcode , 4 , 1 ), PDO :: PARAM_STR );
break;
case "6XY" :
$stmt -> bindParam ( ":lettercomb" , substr ( $postcode , 4 , 2 ), PDO :: PARAM_STR );
break;
case "HuisnummerXY" :
$stmt -> bindParam ( ":lettercomb" , substr ( $postcode , 4 , 2 ), 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!
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
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?
Solved! User didnt had acces to the database... Very stupid mistake of me
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
Forum Rules
Bookmarks