@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_...()
関数を使用するステートメントはmysql_error()
内部に含まれていることに注意してください。die()
また、echoステートメントの二重引用符で囲まれた文字列内の括弧で配列参照を囲んで、単純化し、複数の連結を排除しました。