【问题标题】:PDO MSSQL error query on null空的 PDO MSSQL 错误查询
【发布时间】:2015-08-23 18:24:23
【问题描述】:

我正在尝试从我的数据库表中选择行,但我收到一条错误消息,指出

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

}

我能知道为什么我会收到这个错误吗?谢谢。

【问题讨论】:

  • getConnection() 中有什么内容?
  • 发布您的dbconn.php 文件代码
  • 您的连接似乎无法建立。
  • @b0s3 我已经在问题中发布了我的 db conn 代码

标签: php mysql sql-server pdo


【解决方案1】:

你永远不会在你的函数getConnection()中返回$db

将函数改为:

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

【讨论】:

    猜你喜欢
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多