我在本地计算机上使用PDO连接到MS SQL服务器以使用prepare语句。驱动程序安装正确,可以连接到数据库。这是代码:
try {
$con = new PDO("sqlsrv:Server={$host};Database={$db_name}", $username, $password);
}
catch(PDOException $exception){
echo "Connection error: " . $exception->getMessage();
}
$query = "SELECT TOP 10 ClientID FROM CLIENT";
$stmt = $con->prepare($query);
$stmt->execute();
$num = $stmt->rowCount();
print $num;
从SSMS开始,查询会返回它应该返回的内容,但在代码中没有任何内容,因为它打印了$num
的结果。如果我将查询更改为SELECT @@VERSION
,则会正确打印版本但不会查询我的查询。我的查询是正确的SSMS,PDO可以连接到服务器,但无法找出问题所在,请帮忙。
答案 0 :(得分:1)
try {
$con = new PDO("sqlsrv:Server={$host};Database={$db_name}", $username, $password);
}
catch(PDOException $exception){
echo "Connection error: " . $exception->getMessage();
}
$query = "SELECT TOP 10 ClientID FROM CLIENT";
$stmt = $con->prepare($query);
$stmt->execute();
$rows = $stmt->fetchAll();
$num = count($rows);
print $num;
// To print results :
foreach ($rows as $row) {
echo $row["ClientID"] . "<br/>";
}