将 MySQL 和 php 插入到 html 列表中

Insert MySQL with php into a html a list

我目前正在处理一个网站 运行 遇到的问题。我正在尝试将数据库中的数据插入到列表中。目前我 运行 有一个问题,我得到 error:

Undefined variable: results in C:\xampp\htdocs\portfolio\index.php on line 65 or nothing outputs.

我知道这个问题与查询无关,因为我已经在 phpmyAdmin 中对其进行了测试并且它工作正常。如果有人能指出问题所在以及如何解决,那就太棒了。谢谢你。

下面是我的代码: main.php

<?php
if(isset($_POST['ass1'])){
    $courseNumber = "CS3800";
    $projectid = "PROJ0001";
    $results = get_courseNo_courseDes($db, $courseNumber, $projectid);
    print_r($results);
    unset($_POST['ass1']);
    }
 ?>


  <form action="ass1.php" method="post" name="a1">
  <input type="hidden" name="ass1">
 <ul name="list1">
 <?php
    foreach($results as $result){
    $sresult = $result['course_number'];
    echo"<li value='$sresult'>$sresult</option>"; 
    }
    ?>
    </ul>

    <button type="submit" value="Learn More About This Project" name="ass1">LearnMore About This Project</button>
    </form>

这是我在 functions.php

中的函数
function get_courseNo_courseDes($db, $courseNumber, $projectid){
  $query = "SELECT courses.course_name, project_description from projects inner join courses on projects.course_number = courses.course_number where courses.course_Number = :courseNumber and project_id = :projectid";
$statement = $db->prepare($query);
 $statement->bindValue(':courseNumber', $courseNumber);
 $statement->bindValue(':projectid', $projectid);
 $statement->execute();
 $result = $statement->fetchAll(PDO::FETCH_ASSOC);
 $statement->closeCursor();
 return $result;
}

$results 未设置,除非 ass1 已发布。

foreach($results as $result) 发生在非 ass1 POSTED 查询中,因此出现此错误。

@WaterHearts 教程请参考

就是简单的往数据库中插入数据。

请看这个LINK