我在尝试使用 PDO 执行 MSSQL 查询时遇到了一些麻烦。 我有一个名为 Computer 的表,其中列出了 92 台计算机。它们都有各自的 ID 1-92。
我正在使用查询:SELECT * FROM Computer 来查询表。我想向这个查询添加相关信息,所以我在一个 while 循环中输出它(这最终是为了生成表)。
$queryDiskOperationLog = "SELECT * FROM Computer";
$queryHDDSResult = $connClient -> prepare($queryDiskOperationLog);
$queryHDDSResult->execute();
$queryDiskOperationLogResult = $connClient -> prepare($queryDiskOperationLog);
while ($rowHDDS = $queryHDDSResult->fetch(PDO::FETCH_ASSOC)) {
echo $rowHDDS['Id'];
}
这个输出效果很好。我得到 1-92 输出。当我开始添加其他查询时,麻烦就开始了。 每当我在 while 循环中添加另一个查询时,第一个查询的输出都会改变,它只输出奇数(即 1,3,5,7...)
我使用相同的 PDO::FETCH_ASSOC 方法从其他查询中获取结果,并且变量名称明显不同。你知道是什么原因造成的吗?
我的最终代码如下:(注意我什至还没有回显第二个查询。
$queryDiskOperationLog = "SELECT * FROM Computer";
$queryHardDisk = "SELECT * FROM HardDisk";
$queryHDDSResult = $connClient -> prepare($queryDiskOperationLog);
$queryHDDSResult->execute();
$queryHardDiskResult = $connClient -> prepare($queryHardDisk);
$queryHardDiskResult ->execute();
$queryDiskOperationLogResult = $connClient -> prepare($queryDiskOperationLog);
while ($rowHDDS = $queryHDDSResult->fetch(PDO::FETCH_ASSOC)) {
$rowHardDisk = $queryHardDiskResult->fetch(PDO::FETCH_ASSOC);
echo $rowHDDS['Id'];
}