无法使用PDO从MS SQL检索数据

时间:2014-10-20 08:08:58

标签: php sql-server pdo

我在本地计算机上使用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可以连接到服务器,但无法找出问题所在,请帮忙。

1 个答案:

答案 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/>";
}