這是解決的(編輯在頁面底部)PHP mysqli查詢輸出錯誤
我在foreach語句中的查詢輸出出現問題。出於某種原因,變量的轉儲會給出NULL NULL NULL等,而不是表項的正確輸出。有誰知道是什麼原因造成的?
<?php
$offers_array = array();
$query = "select trade_offer.*, gebruikers.naam, gebruikers.image_url from trade_offer join gebruikers on gebruikers.id = trade_offer.sender_id where receiver_id = ?";
$stmt = $db->prepare($query);
$stmt-> bind_param('i', $gebruiker->id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()){
$offers_array[] = $row;
}
foreach($offers_array as $offer){
$query_fetch = "select * from items where id in (?,?,?,?,?,?,?,?)";
$stmt = $db->prepare($query_fetch);
$stmt-> bind_param('iiiiiiii', $offer['receiver_gets_1'], $offer['receiver_gets_2'], $offer['receiver_gets_3'], $offer['receiver_gets_4'], $offer['sender_gets_1'], $offer['sender_gets_2'], $offer['sender_gets_3'], $offer['sender_gets_4']);
$stmt->execute();
$stmt->bind_result($col1, $col2, $col3, $col4);
while($stmt->fetch()){
$id = $col1;
$naam = $col2;
$prijs = $col3;
$image = $col4;
echo $id;
echo $naam;
echo $prijs;
echo $image;
}
}?>
自卸$報價:
Array
(
[id] => 8
[receiver_id] => 2
[sender_id] => 3
[receiver_gets_1] => 10
[receiver_gets_2] => 15
[receiver_gets_3] => 18
[receiver_gets_4] => 13
[sender_gets_1] => 19
[sender_gets_2] => 14
[sender_gets_3] => 17
[sender_gets_4] => 9
[accepted] =>
[naam] => John
[image_url] => http://www.example.com/img.jpg
)
內容項目表:
id naam prijs image_url
1 item1 2.00 example.com
2 item2 2.00 example.com
3 item3 2.00 example.com
4 item4 2.00 example.com
5 item5 2.00 example.com
6 item6 2.00 example.com
etc.
謝謝!
編輯:我編輯我的代碼,以金亞歷山大的回答,現在出現以下錯誤: Fatal error: Call to a member function bind_param() on boolean in ......\tradeoffers.php on line 31
第31行:
$stmt-> bind_param('iiiiiiii', $offer['receiver_gets_1'], $offer['receiver_gets_2'], $offer['receiver_gets_3'], $offer['receiver_gets_4'], $offer['sender_gets_1'], $offer['sender_gets_2'], $offer['sender_gets_3'], $offer['sender_gets_4']);
感謝您的回答,只有現在我得到以下錯誤:'致命錯誤:調用成員函數bind_param()布爾在.... \ tradeoffers.php上線31'這是行31我的文件:'$ stmt-> bind_param('iiiiiiii',$ offer ['receiver_gets_1'],$ offer ['receiver_gets_2'],$ offer ['receiver_gets_3'],$ offer ['receiver_gets_4'],$ offer [ sender_gets_1'],$ offer ['sender_gets_2'],$ offer ['sender_gets_3'],$ offer ['sender_gets_4']);'' –