我有一個循環遍歷一個表並顯示客戶ID。 它工作正常。在循環的頂部,它將變量設置爲等於客戶ID,然後將其回顯到屏幕。如果表格中有七個項目,它將顯示七個OrderIds。爲什麼我的總和查詢中斷我的循環?
但是,如果我然後嘗試使用該客戶ID來執行sum語句,程序將首次顯示結果,但在第一次迭代之後退出而沒有錯誤,而不是循環,幾乎就像記錄集一樣正在被摧毀。
我完全喪失理解爲什麼。代碼如下。非常感謝提前:
include ("../Connections/PDOConnection.php")
$Query= "
SELECT distinct
OrderID,
CustID,
Name
FROM
dbo.JNO_OrderHeader
WHERE
CustID is Not Null
";
$stmt = $pdo->prepare($Query);
if ($stmt->execute()) {
while ($Order=$stmt->fetch(PDO::FETCH_ASSOC)){
$OrderID = $Order['OrderID'];
echo "<br>OrderID: " . $OrderID;
$Query1 = "SELECT SUM(dbo.JNO_OrderDetail.ExtendedPrice) AS TotalOrderPrice
FROM dbo.JNO_OrderDetail
WHERE dbo.JNO_OrderDetail.OrderId = :OrderID";
$stmt1 = $pdo->prepare($Query1);
$stmt1->bindValue("OrderID", $OrderID);
$stmt1->execute();
$OrderTotal=$stmt1->fetch(PDO::FETCH_ASSOC);
echo "<br>Totals for order number ". $OrderID .": " . $OrderTotal['TotalOrderPrice'];
}
}
?>
您是否顯示PDO錯誤?在前一個返回所有行之前,您無法在同一連接上啓動新的查詢?也許'fetchAll'會有用嗎?嗯,你實際使用的數據庫是什麼?我假設'mysql'。無論如何,這值得檢查? –
http://php.net/manual/en/pdo.error-handling.php –
這完全解釋了它。我需要一個新的連接!謝謝謝謝! –