嵌套 PDO 查询

时间:2021-02-28 17:55:07

标签: php pdo

我在尝试使用 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'];
}

0 个答案:

没有答案
相关问题