如何在html中输出php sql函数


How to output php sql function in html?

我有一个函数在php中需要显示表内的所有记录。但是我似乎不能在HTML中显示它们。

下面是我的php代码:
<?php
function display_products(){
    $query = mysql_query("Select id, naam,prijs from product");
    $data = array();
    while ($row = mysql_fetch_assoc($result)){
        array_push($data, $row);
    }
    return $data;
}?>

这是我试图在html中显示的数组:

<?php
$products = display_products();
foreach ($products as $product): ?>
  <ul>
    <li><?php echo $product['naam'] ?></li>
    <li><?php echo $product['prijs'] ?></li>
  </ul>
}
<?php endforeach; unset($product); ?>

尝试如下操作(不要忘记更改mysqli_connect()函数中的常量)。此外,如果您熟悉这个,请尝试使用PDO。

<?php
function display_products() {
    //Connect to database
    $connection = mysqli_connect(SERVER, USER, MY_PASSWORD, MY_DATABASE);
    mysqli_set_charset($connection, 'utf8');
    if (!$connection) {
        die("Database connection failed: " . mysqli_error());
    }
    //Make the query
    $query = "SELECT id, naam, prijs FROM product;";
    $result = mysqli_query($connection, $query);
    $data = array();
    //Fetch all the data
   while ($row = mysqli_fetch_array($result)) {
        array_push($data, $row);
    }
    return $data;
}
?>

<?php
$products = display_products();
foreach ($products as $product): ?>
    <ul>
        <li><?php echo $product['naam']; ?></li>
        <li><?php echo $product['prijs']; ?></li>
    </ul>
<?php endforeach; ?>