[英]Unable to display result of MySQLi SELECT query
這是我第一次嘗試將PHP與數據庫(MySQLi)一起使用。 我終於連接了數據庫(至少,我沒有收到任何錯誤)。
現在,我試圖獲取選擇查詢的結果並將其顯示在表單中,但是我什么也無法顯示。
我要去哪里錯了?
這是從數據庫檢索查詢結果的代碼:
/*Connect To DB*/
$conn = mysqli_connect($host, $user, $pwd)
or die("Could not connect: " . mysql_error()); //connect to server
mysqli_select_db($conn, $database)
or die("Error: Could not connect to the database: " . mysql_error());
/*Check for Connection*/
if(mysqli_connect_errno()){
/*Display Error message if fails*/
echo 'Error, could not connect to the database please try again later.';
exit();
}
/*Query for states*/
$query = "SELECT StateAbbreviation, StateName FROM USState ORDER BY StateName";
$result = mysqli_query($conn, $query);
$num_results = mysqli_num_rows($result);
?>
結果應顯示為以下形式:
<form id="StateSelector" action="" method="post">
<select size="1" name="states" id="states">
<option value "">--Select State--</option>
<!--Loops through the states-->
<?
/*Loop through through each stat and display as an option as a drop-down field */
for($i=0; $i<$num_results; $i++) {
$row = mysqli_fetch_assoc($result);
echo 'option value="' .$row['StateAbbreviation'] . '">' . $row['StateName'] . '</option>' . "\n";
}
?>
</select>
Zip:
<input type="text" name="zip" size="5" /></p>
</form>
<p>Your email address:<br/>
<input type="text" name="email" size="20" /></p>
<p>Please let us know what you think:<br/>
<textarea name="feedback" rows="12" cols="40" wrap="virtual" /></textarea></p>
<p><input type="submit" value="Send feedback" /></p>
</form>
在以下行中:
echo 'option value="' .$row['StateAbbreviation'] . '">' . $row['StateName'] . '</option>' . "\n";
<option>
標記的開頭缺少<
。
該行應更正為這一行:
echo '<option value="' .$row['StateAbbreviation'] . '">' . $row['StateName'] . '</option>' . "\n";
作為重現問題的快速測試用例,下面的代碼部分:
<select>
<?php
for ($i=0 ; $i<10 ; $i++) {
// Note the missing < before "option"
echo 'option value="' . $id . '">' . $i . '</option>';
}
?>
</select>
在Firefox中,將為您提供一個空白列表,同時提供以下列表:
<select>
<?php
for ($i=0 ; $i<10 ; $i++) {
// The < before "option" has been added
echo '<option value="' . $id . '">' . $i . '</option>';
}
?>
</select>
將為您提供預期的列表-有十個選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.