php pdo使用数据库中的数组填充表

php pdo使用数据库中的数组填充表,php,mysql,pdo,Php,Mysql,Pdo,我试图将MySQL中的数据插入到表中,但我似乎无法使循环正常工作:( select语句是正确的,我只是无法让它正确地回显数据 有什么想法吗 编辑的代码位于下面,我已修复:) 这是一个错误 Parse error: syntax error, unexpected '(', expecting T_STRING or T_VARIABLE or '{' or '$' in /home/4507408/public_html/review.php on line 67 正确代码:

我试图将MySQL中的数据插入到表中,但我似乎无法使循环正常工作:(

select语句是正确的,我只是无法让它正确地回显数据

有什么想法吗

编辑的代码位于下面,我已修复:)

这是一个错误

Parse error: syntax error, unexpected '(', expecting T_STRING or T_VARIABLE or '{' or '$' in /home/4507408/public_html/review.php on line 67


正确代码:

                                                <?php

                                                $sql  = "SELECT u.userID, p.productID, p.name, c.categoryname, r.reviewID, r.reviewTime, r.reviewData, u.firstname FROM review r INNER JOIN product p on p.productID = r.productID INNER JOIN user u on u.userID = r.userID INNER JOIN category c on c.categoryID = p.categoryID ORDER BY $sortby ASC;";

                                                $query = $DBH->prepare($sql);
                                                $query->execute();
                                                $data = $query->fetchALL();

                                                ?>

                                    <table class="rev">

                                                <tr>
                                                <th><a href="review.php?sort=name">Product Name:</a></th>
                                                <th><a href="review.php?sort=categoryname">Category</a></th>
                                                <th><a href="review.php?sort=reviewID">ID</a></th>
                                                <th><a href="review.php?sort=reviewTime">Date</a></th>
                                                <th><a href="review.php?sort=reviewData">Review</a></th>
                                                <th><a href="review.php?sort=firstname">Reviewer's Name</a></th>
                                                </tr>

                                                <? foreach ($data as $row): ?>
                                                <?
                                                $originalDate = $row['reviewTime'];
                                                $newDate = date("d-m-Y", strtotime($originalDate));
                                                ?>
                                                <tr>
                                                    <td><a href="viewproduct.php?productID=<?=$row['productID']?>"><?=$row['productID']?></a></td>
                                                    <td><?=$row['categoryname']?></a></td>
                                                    <td><?=$row['reviewID']?></a></td>
                                                    <td><?=$newDate?></a></td>
                                                    <td><?=$row['reviewData']?></a></td>
                                                    <td><?=$row['firstname']?></a></td>
                                                </tr>


                                                <? endforeach?>


                                        </table>

这一行毫无意义:

while($row = $data->(PDO::FETCH_ASSOC))  
我想你需要的是

因为
fetchAll
返回一个数组。

它应该是

 $data = $query->fetchALL();
 foreach($data as $row)    
而不是

  while($row = $data->(PDO::FETCH_ASSOC))  
而且


除非您尚未配置shortag

<?   } ?>


@jon是正确的,您需要一个foreach循环,您需要将PDO::FETCH_ASSOC放入$query->fetchAll(PDO::FETCH_ASSOC)

谢谢,我现在已经解决了这个问题,并用正确的代码更新了这个问题。在转移到PDO的过程中
  while($row = $data->(PDO::FETCH_ASSOC))  
<?php  } ?>
<?   } ?>