我正在嘗試執行查詢並執行查詢。第一個循環顯示所有客戶數據,第二個循環顯示該客戶的訂單。該代碼我到目前爲止有:PHP準備語句 - 獲取在while循環中有查詢的錯誤
$stmt = $conn->prepare("SELECT * FROM Customers
WHERE travel_Date >= ?
AND travel_Date <= ?
".$searchOption."
LIMIT ?
OFFSET ?");
$todayDateFrom = $todayDate." 00:00:00";
$todayDateTo = $todayDate." 23:59:59";
$stmt->bind_param("ssii", $todayDateFrom, $todayDateTo, $limit, $offset);
$stmt->execute();
/* bind variables to prepared statement */
$stmt->bind_result($customer_ID, $name, $etc);
while ($stmt->fetch()) {
$stmt_Order = $conn->prepare("SELECT * FROM Orders
WHERE customer_ID= ?");
$stmt_Order->bind_param("i", $customer_ID);
$stmt_Order->execute();
$stmt_Order->bind_result($order_ID, $order_Name);
}
第一個循環爲我工作得很好,當我添加了第二個查詢,我收到以下錯誤:
所有數據都必須被提取之前一個新的語句準備花費發生在
其涉及這一行:
$stmt_Order = $conn->prepare("SELECT * FROM Orders
WHERE customer_ID= ?");
呼叫一個成員函數bind_param()一個非對象在
裏面涉及到這一行:
$stmt_Order->bind_param("i", $cust_Customer_ID);
我不明白髮生了什麼。任何幫助,將不勝感激。
我喜歡這樣,我給它一個鏡頭,並得到這個錯誤:「調用未定義的方法mysqli_stmt :: fetchAll()」 – 2014-09-25 11:56:05
糟糕,這是因爲你正在使用MySQLi的東西,我想到了PDO。 也許這會幫助你: http://php.net/manual/en/mysqli-result.fetch-all.php – theiNaD 2014-09-25 11:58:16