我正在尝试创建一个while()
循环,从数据库中获取一些数据,然后我需要创建另一个循环,该循环基于上一个while()
给出的变量之一环。
到目前为止,我看不到错字,但我一直在
致命错误:在第77行的...中的boolean上调用成员函数bind_param()。“
这是代码:(图像为更好的结构:http://imgur.com/0dFhoRb)
<?php
$sql = 'SELECT raised_id, user_id, project_id, amount FROM cf_donations ORDER BY raised_id DESC LIMIT 6';
$stmt = $connection->prepare($sql);
$stmt->bind_result($rid, $uid, $pid, $amount);
$stmt->execute();
while($stmt->fetch()){ ?>
<?php
$userinfoquery = 'SELECT first_name, last_name, profile_image FROM cf_users WHERE user_id = ?';
$stamt = $connection->prepare($userinfoquery);
$stamt->bind_param('i', $uid);
$stamt->bind_result($firstname, $lastname, $image);
$stamt->execute();
while($stamt->fetch()){ ?>
<div class="donationDiv">
<p><?= $amount ?>$</p>
</div>
<?php } ?>
<?php } ?>
非常感谢任何帮助!
答案 0 :(得分:0)
如此处所写:Commands out of sync; you can't run this command now
您不能同时进行两个查询,因为默认情况下mysqli
使用无缓冲的查询(对于准备好的语句;它与vanilla mysql_query
相反)。您可以将第一个获取到数组中并循环遍历,或者告诉mysqli
缓冲查询(使用$stmt->store_result()
)。
(由@Rasclatt回答)