2015-06-09 4 views
2

Я пытаюсь выбрать строки из моей таблицы базы данных, и я получаю ошибку о том, чтоPDO MSSQL ошибка запрос на нуле

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

Нашего подключение к базе данных показывает успех. Ниже мой PHP код:

<?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; 
?> 

Это код dbconn.php:

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; 
} 

}

Могу ли я знать, почему я получаю эту ошибку. Спасибо.

+0

Что в 'GetConnection()'? –

+0

напишите свой файл 'dbconn.php' –

+0

http://php.net/manual/en/ref.pdo-dblib.php Проверьте это –

ответ

1

Вы никогда не возвращаете $db в свой funtion getConnection();

Изменение Funtion на:

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; 
} 
}