PDO MSSQL error query on null

317 views Asked by At

I am trying to select rows from my database table, and I am getting an error stating that

Fatal error: Call to a member function query() on null in..

Our connection to the database shows successful. Below is my php code:

<?php
   require_once("dbconn.php");
   $db = getConnection();

   $input_pid = "870104-07-5448";
   $sql = "SELECT * FROM Pat WHERE PID ='$input_pid'";
   $stmt = $db->query($sql);
   $row = $stmt->fetchObject();
   echo $row->PID;
   echo $row->Name;
?>

This is the dbconn.php code:

function getConnection(){
try {
    $hostname = "busctrlctr-pc";
    $dbname   = "DispenserSystem";
    $username = "sa";
    $password = "123456";
    $db = new PDO ("sqlsrv:Server=$hostname;Database=$dbname", $username, $password);
    echo 'We are succesful to connect the database !!'.'<br>'; // successful word
} catch (PDOException $e){
    echo "connection failed problem is >> ". $e -> getMessage()."\n";
    exit;
}

}

Can i know why I am getting this error. Thank you.

1

There are 1 answers

0
Jens On BEST ANSWER

You never return $db in your funtion getConnection();

change the funtion to:

function getConnection(){
try {
    $hostname = "busctrlctr-pc";
    $dbname   = "DispenserSystem";
    $username = "sa";
    $password = "123456";
    $db = new PDO ("sqlsrv:Server=$hostname;Database=$dbname", $username, $password);
    echo 'We are succesful to connect the database !!'.'<br>'; // successful word
    return $db;
} catch (PDOException $e){
    echo "connection failed problem is >> ". $e -> getMessage()."\n";
    exit;
}
}