-1

PHP: 38 行目に予期しない「endwhile」(T_ENDWHILE) という構文エラーが表示されるのはなぜですか? 初めて php と mysql でフォーラムを作成しようとしていますが、コードの何が問題なのかわかりません。

<?php
session_start();
require"db_connect.php";

$sql = "SELECT forum_id, forum_name FROM forum_tbl";
if ($query = $db->prepare($sql)){
    $query->bind_result($f_id, $f_name);
    $query->execute();
    $query->store_result();
}else{
    echo $db->error;
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>
<title>Forum</title>
<meta/>
<style type="text/css">
</style>
</head>

<body>
<div class="container">
<div class="content">
    <table align="center" width="80%">
        <?php
        if($query->num_rows !==0)
        while($row = $query->fetch())
        ?>  
        <tr>
        <td><a href="forum.php?id=<?php echo $f_id?>"><?php echo $f_name;?>    </a></td>
        </tr>
        <?php endwhile; endif;?>    
    </table>
</div>
</div>
</body>
</html>
4

1 に答える 1

4

:と の両方がifありませんwhile。そのはず

if($query->num_rows !==0):
while($row = $query->fetch()):

:末尾の s を参照してください。

PHP 代替制御構造の構文について詳しくは、こちらをご覧ください。

于 2012-12-30T09:02:53.313 に答える