使用PHP从MySQL数据库中获取子列表时出错

时间:2017-04-11 08:21:15

标签: php html mysql mysqli content-management-system

意图

我正在尝试获取主列表中的子列表。

错误

这会显示在我的网页上**。

  

您的SQL语法有错误;检查手册   对应于右边的MariaDB服务器版本   在第1行的'ORDER BY subject_id ASC'附近使用的语法

代码:

scale_color_manual

1 个答案:

答案 0 :(得分:0)

问题出在第20行,其中"是嵌套的。我缩进了你的代码以使其可读。

缩进后显示的另一个错误是错误while循环嵌套。

<ul class="subjects">
    <?php
    //db query
    $query = 'SELECT * FROM  `subjects` ';
    $query .= 'WHERE visible = 1 ';
    $query .= 'ORDER BY position ASC';
    $subject_set = mysqli_query($connection, $query);
    confirm_query($subject_set);
    while ($subject = mysqli_fetch_assoc($subject_set)) { ?>
        <li>
            <?php
            echo $subject['menu_name'];

            $query = 'SELECT * FROM  `pages` ';
            $query .= 'WHERE visible = 1 ';
            $query .= 'AND subject_id = "' . $subject['id']. '" ';
            $query .= 'ORDER BY subject_id ASC';
            $page_set = mysqli_query($connection, $query);
            echo mysqli_error($connection);
            confirm_query($page_set);
            ?>
            <ul class="pages">
                <?php
                while ($page = mysqli_fetch_assoc($page_set)) {
                    ?>
                    <li>
                        <?php echo $page['menu_name']; ?>
                    </li>
                    <?php
                }
                mysqli_free_result($page_set);
                ?>
            </ul>
        </li>
    <?php } ?>
</ul>