正如@Michael Berkowski 在评论中所建议的那样,protokoly
和之间目前没有空格ORDER BY
。这将导致 MySQL 错误,但您看不到导致难以排除故障的错误。
如果发生错误,您可以修改代码以输出错误,如下所示:
$rs = mysql_query($result) or die('Error during query: ' . mysql_error());
如果mysql_query()
失败,die()
调用mysql_error()
将输出最近 MySQL 错误的内容,帮助您发现问题。
编辑:
为了说明die()
我已经编辑了您的代码的用法,如下所示:
<?php
// Place at top of file
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<SELECT>
<?php
$con = mysql_connect("localhost", "root", "123456") or die('Connection failed: ' . mysql_error());
mysql_select_db("aplikace", $con) or die('Cannot select database: ' . mysql_error());
$result = ("SELECT * kod FROM protokoly ORDER BY kod");
$rs = mysql_query($result) or die('Query failed: ' . mysql_error());
$nr = mysql_num_rows($rs) or die('Failed to get num_rows: ' . mysql_error());
for ($i = 0; $i < $nr; $i++)
{
$r = mysql_fetch_array($rs);
echo "<OPTION VALUE=\"{$r['kod']}\">{$r['kod']}</OPTION>";
}
?>
</SELECT>
请注意,使用mysql_...()
函数的语句包含mysql_error()
在内部die()
,以便输出任何 MySQL 错误。我还在 echo 语句的双引号字符串中将数组引用括在括号中,以简化它并消除多重连接。