我已将此代码用于我所制作的其他项目中,由于某种原因现在它无效。对我来说它应该有用,但我希望有人会看到我错过的错误
//Actual Function
function get_data(){
$mealData = mysql_query("SELECT `MealID`, `MealOption` FROM `menu` ");
while($record = mysql_fetch_array($mealData)){
echo '<option value="'. $row['`MealOption`'] . '">'.$row['`MealOption`'].'</option>';
}
// HTML
<select name="Meal">
<?php get_data() ?>
</select><br>
// Including
<?php
include_once '@add_customer.php';
?>
答案 0 :(得分:1)
请改为尝试:
function get_data(){
$mealData = mysql_query("SELECT `MealID`, `MealOption` FROM `menu` ");
while($record = mysql_fetch_array($mealData)){
$mealOption = $row['MealOption'];
echo "<option value='$mealOption'>$mealOption</option>";
}
<select name="Meal">
<?php get_data() ?>
</select><br>
// Including
<?php
include_once 'add_customer.php';
?>
你的反引号是错误的。
我总是首先将MySQL
输出分配给变量,然后在双引号内使用它,它更容易阅读。
如果您不确定错误的位置,请在php脚本的顶部添加以下代码,这样您就可以检测到脚本可能出现的任何错误,在进入时将其删除生产模式。
error_reporting(E_ALL);
ini_set('display_errors', '1');
答案 1 :(得分:0)
不要在数组键名中使用反引号`
更改
echo '<option value="'. $row['`MealOption`'] . '">'.$row['`MealOption`'].'</option>';
到
echo '<option value="'. $row['MealOption'] . '">'.$row['MealOption'].'</option>';
并且只使用include_once 'add_customer.php';
而不是include_once '@add_customer.php';