使用PDO选项选择查询';t显示表中的所有数据


Select query using PDO doesn't show all the data in the table

我试图使用PDO在表中显示数据库中的数据。但记录并没有显示出来。我不知道我的代码出了什么问题。

这是html代码:

<table border=15 style='font-size:0.6em;' id='result'>
  <tr>
    <th>ISSUE TYPE</th>
    <th>CREATION DATE</th>
    <th>SITE</th>
    <th>VENDOR NAME</th>
    <th>INVOICE DATE</th>
    <th>INVOICE NUMBER</th>
    <th>PART NUMBER</th>
    <th>PO</th>
    <th>RR</th>
    <th>CURRENCY</th>
    <th>INVOICE AMOUNT</th>
    <th>ISSUES</th>
    <th>PERSON IN CHARGE</th>
    <th>PIC COMMENTS</th>
    <th>STATUS</th>
    <th>&nbsp;</th>
  </tr>

下面是我在表中显示数据的PHP代码:

<?php 
$invtxt = $_POST['InvNumbTxt'];
$dbh=db_connect();         
$sql="SELECT * FROM invalid_invoice";
$stmt=$dbh->prepare($sql);  
$stmt->execute();
while($row = $stmt>fetchAll(PDO::FETCH_ASSOC)) { 
  echo"<form name='update' method='POST'><tr class=output2>";
  echo "<td>$row[1]</td>";
  echo "<td>$row[2]</td>";
  echo "<td>$row[3]</td>";
  echo "<td>$row[4]</td>";
  echo "<td>$row[5]</td>";
  echo "<td>$row[6]</td>";
  echo "<td>$row[7]</td>";
  echo "<td>$row[8]</td>";
  echo "<td>$row[9]</td>";
  echo "<td>$row[10]</td>";
  echo "<td>$row[11]</td>";
  echo "<td>$row[12]</td>";
  echo "<td><input type='text' name='pic' value='$row[17]'></td>";
  echo "<td><input type='text' name='comt' value='$row[18]'></td>";
  echo "<td><input type='text' name='stat' value='$row[19]'></td>";
  echo "<td><input type='submit' name='save_btn' value='&diams; SAVE &diams;' style='font-size:1em;'/></td>";
  echo "<td><input type='hidden' name='idtxt' value='$row[0]'/></td>";
  echo "</tr></form>"; 
} 
$dbh=null;
?>
</table>

更改此行:

while($row = $stmt>fetchAll(PDO::FETCH_ASSOC)) { 

至:

while($row = $stmt>fetch(PDO::FETCH_ASSOC)) { 

PDO语句的fetchall方法按照它在锡上所说的去做,它一次命中就获取了整个结果集。PDO语句的fetch方法只获取结果集的下一行。

您也有类型错误,

更改此

while($row = $stmt>fetchAll(PDO::FETCH_ASSOC)) {

while($row = $stmt->fetchAll(PDO::FETCH_ASSOC)) {

修改你的while循环如下,

<form>值不应在循环内。

    echo"<form name='update' method='POST'>";
    while($row = $stmt->fetchAll(PDO::FETCH_ASSOC)) { 
    echo "<tr class=output2>";
    echo "<td>".$row[1]."</td>";
    echo "<td>".$row[2]."</td>";
    echo "<td>".$row[3]."</td>";
    echo "<td>".$row[4]."</td>";
    echo "<td>".$row[5]."</td>";
    echo "<td>".$row[6]."</td>";
    echo "<td>".$row[7]."</td>";
    echo "<td>".$row[8]."</td>";
    echo "<td>".$row[9]."</td>";
    echo "<td>".$row[10]."</td>";
    echo "<td>".$row[11]."</td>";
    echo "<td>".$row[12]."</td>";
    echo "<td><input type='text' name='pic' value='".$row[12]."'></td>";
    echo "<td><input type='text' name='comt' value='".$row[18]."'></td>";
    echo "<td><input type='text' name='stat' value='".$row[19]."'></td>";
    echo "<td><input type='submit' name='save_btn' value='&diams; SAVE &diams;' style='font-size:1em;'/></td>";
    echo "<td><input type='hidden' name='idtxt' value='".$row[0]."'/></td>";
    echo "</tr>"; 
    } 
    echo '</form>';
    $dbh=null;
?>
</table>