PHP如果有错误

时间:2014-10-17 14:58:54

标签: php if-statement mysqli do-while

我正在尝试使用mysqli和php从数据库填充数据表。使用以下代码:

<?php 
if(mysqli_num_rows($search_query) > 0) {
    do {
    <tr> 
      <td> echo $rows['COL 1']; </td>
      <td> echo $rows['COL 2']; </td>
      <td> echo $rows['COL 3']; </td>
      <td> echo $rows['COL 4']; </td>
      <td> echo $rows['COL 5']; </td>
      <td> echo $rows['COL 6']; </td>
      <td> echo $rows['COL 7']; </td>
      <td> echo $rows['COL 8']; </td>
      <td> echo $rows['COL 9']; </td>
      <td> echo $rows['COL 10']; </td>
      <td> echo $rows['COL 11']; </td>
      <td> echo $rows['COL 12']; </td>
      <td> echo $rows['COL 13']; </td>

    </tr>
     }  while ($rows=mysqli_fetch_assoc($search_query));
}

else {
    echo "No results found.";
}
?>

我收到错误,网站上没有任何内容。我确定这与php标签有关,但我无法弄清楚如何正确使用它们。我也试过了:

<?php 
if(mysqli_num_rows($search_query) > 0) {
    do { ?>
    <tr> 
      <td><?php echo $rows['COL 1'];?> </td>
      <td><?php echo $rows['COL 2'];?> </td>
      <td><?php echo $rows['COL 3'];?> </td>
      <td><?php echo $rows['COL 4'];?> </td>
      <td><?php echo $rows['COL 5'];?> </td>
      <td><?php echo $rows['COL 6'];?> </td>
      <td><?php echo $rows['COL 7'];?> </td>
      <td><?php echo $rows['COL 8'];?> </td>
      <td><?php echo $rows['COL 9'];?> </td>
      <td><?php echo $rows['COL 10'];?> </td>
      <td><?php echo $rows['COL 11'];?> </td>
      <td><?php echo $rows['COL 12'];?> </td>
      <td><?php echo $rows['COL 13'];?> </td>

    </tr>
     }  <?php while ($rows=mysqli_fetch_assoc($search_query));?>
     </table>
}
<?php 
else {
    echo "No results found.";
}
?>

2 个答案:

答案 0 :(得分:0)

尝试使用正常的while循环。

do while会先执行do部分,所以$ rows将是未定义的。

 <?php 
    if(mysqli_num_rows($search_query) > 0) { ?>
         <table>
         <?php while ($rows=mysqli_fetch_assoc($search_query)) { ?>
        <tr> 
          <td><?php echo $rows['COL 1'];?> </td>
          <td><?php echo $rows['COL 2'];?> </td>
          <td><?php echo $rows['COL 3'];?> </td>
          <td><?php echo $rows['COL 4'];?> </td>
          <td><?php echo $rows['COL 5'];?> </td>
          <td><?php echo $rows['COL 6'];?> </td>
          <td><?php echo $rows['COL 7'];?> </td>
          <td><?php echo $rows['COL 8'];?> </td>
          <td><?php echo $rows['COL 9'];?> </td>
          <td><?php echo $rows['COL 10'];?> </td>
          <td><?php echo $rows['COL 11'];?> </td>
          <td><?php echo $rows['COL 12'];?> </td>
          <td><?php echo $rows['COL 13'];?> </td>

        </tr>
        <?php } ?>
         </table>

    <?php }
    else {
        echo "No results found.";
    }
    ?>

在第二个示例中,PHP标记之外还有一个结束括号。打开错误报告会给您提供信息性错误消息。

error_reporting(E_ALL);
ini_set('display_errors', 'on');

答案 1 :(得分:0)

 <?php 

  $result=mysqli_fetch_assoc($search_query);
  if(mysqli_num_rows($result) > 0) { ?>
     <table>
     <?php while ($rows=$result) { ?>
    <tr> 
      <td><?php echo $rows['COL 1'];?> </td>
      <td><?php echo $rows['COL 2'];?> </td>
      <td><?php echo $rows['COL 3'];?> </td>
      <td><?php echo $rows['COL 4'];?> </td>
      <td><?php echo $rows['COL 5'];?> </td>
      <td><?php echo $rows['COL 6'];?> </td>
      <td><?php echo $rows['COL 7'];?> </td>
      <td><?php echo $rows['COL 8'];?> </td>
      <td><?php echo $rows['COL 9'];?> </td>
      <td><?php echo $rows['COL 10'];?> </td>
      <td><?php echo $rows['COL 11'];?> </td>
      <td><?php echo $rows['COL 12'];?> </td>
      <td><?php echo $rows['COL 13'];?> </td>

    </tr>
    <?php } ?>
     </table>

<?php }
else {
    echo "No results found.";
}
?>