试图在另一个while循环中获得while循环,但它不能一起工作

时间:2015-09-29 23:59:42

标签: php mysql database while-loop

我正在尝试创建一个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 } ?> 

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

如此处所写:Commands out of sync; you can't run this command now

您不能同时进行两个查询,因为默认情况下mysqli使用无缓冲的查询(对于准备好的语句;它与vanilla mysql_query相反)。您可以将第一个获取到数组中并循环遍历,或者告诉mysqli缓冲查询(使用$stmt->store_result())。

(由@Rasclatt回答)