空的 PDO MSSQL 错误查询
Posted
技术标签:
【中文标题】空的 PDO MSSQL 错误查询【英文标题】:PDO MSSQL error query on null 【发布时间】: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
文件代码
php.net/manual/en/ref.pdo-dblib.php 看看这个
您的连接似乎无法建立。
@b0s3 我已经在问题中发布了我的 db conn 代码
【参考方案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;
【讨论】:
以上是关于空的 PDO MSSQL 错误查询的主要内容,如果未能解决你的问题,请参考以下文章
将空字符串绑定到 pdo 准备好的查询时 HY104 Sql server 错误