所以代码行
echo "<option value = '$name'>$name</option>";
是我遇到问题的地方。我试图获取下拉菜单,以获得数据库中每个名称的值。这是我的代码,它在一个html文件中:
<select name = "author" id = "author">
<?php
$servername = "localhost";
$username = "user";
$password = "pass";
$database = "db";
$con = mysqli_connect($servername,$username,$password,$database);
if($con->connect_error){
die("Connection failed " . $con->connect_error);
}
$sql = "select first, last from Employee";
$result = mysqli_query($con,$sql);
while ($row = mysqli_fetch_array($result)) {
$name = $row['first'] . ' ' . $row['last'];
echo "<option value = '$name'>$name</option>";
/*echo <<<EOT
<option value = '$name'>$name</option>"
EOT;*/
}
?>
</select>
我使用普通字符串和EOT尝试过它。目前,当我查看html页面时,它显示“$ name”而不是实际名称。我已经完成了输出测试,$ name正在存储我希望它存储的内容。
答案 0 :(得分:3)
我只是在黑暗中迈出了一步,你把文件保存为HTML(.html)而不是PHP文件(.php)?
答案 1 :(得分:0)
尝试:
echo "<option value = '".$name."'>".$name."</option>";
或
echo "<option value = '{$name}'>{$name}</option>";
答案 2 :(得分:0)
我记得有些关于PHP没有处理单引号之间的变量。最好的方法是打破并连接字符串
echo "<option value = '".$name."'>$name</option>";