【发布时间】:2015-06-04 20:32:31
【问题描述】:
我正在尝试使用数据库中的数据填充选择输入。 php 代码本身可以工作,但是当我尝试构建一个 html 表单时,它就崩溃了。
这是我的代码(start.html):
[...]
<form action="action.php" method="post">
<p>Schueler:</p>
<select name="schueler">
<?php
$mysqli = new mysqli("localhost", "test", "test01", "Noten");
$query = "SELECT id, vorname, nachname FROM schueler";
$result = $mysqli->query($query);
while($row = $result->fetch_assoc())
{
echo '<option value="' .htmlspecialchars($row['id']).'">'
.htmlspecialchars($row['vorname'])
.' '.
htmlspecialchars($row['nachname']).'</option>';
}
?>
</select>
[...]
但我在加载页面时得到的是:
<form action="action.php" method="post">
<p>Schueler:</p>
<select name="schueler">
<!--?php
$mysqli = new mysqli("localhost", "test", "test01", "Noten");
$query = "SELECT id, vorname, nachname FROM schueler";
$result = $mysqli--->query($query);
while($row = $result->fetch_assoc())
{
echo '<option value="' .htmlspecialchars($row['id']).'">'
.htmlspecialchars($row['vorname'])
.' '.
htmlspecialchars($row['nachname']).'</option>';
}
?>"
</select>
[...]
如您所见,问题很可能是在运行页面时注释了 php 命令。你能帮忙或提供一些想法吗?
【问题讨论】:
-
这很奇怪。您确定您的服务器正在运行 php,并且您确定您的文件具有 .php 文件扩展名吗?实际上我敢打赌你没有使用 .php 文件扩展名。
-
但我在加载页面时得到的是: 请解释一下。你在哪里看到这个?
while也加载了吗? -
<?更改为 HTML 注释<!--?是不正常的行为。你使用任何框架吗,圣。除了“纯”PHP? -
@treegarden:是的,服务器正在运行 php。因为 php 标签内的代码可以自行运行。那么,你是对的,我没有使用 .php 文件扩展名,但这个或 .html 都不起作用。
-
@Loko:如果我在 chrome 中检查网页上的元素(使用 Ctrl+Shift+i),我可以看到这一点。
while也加载了是什么意思?