我想創建一個簡單的選擇下拉列表,以填充到我的MYSQL數據庫中的一個表中。 這裏是我的代碼:無法從MySQL數據庫中獲取下拉列表
$q = 'SELECT * FROM Shipmethods';
$result = mysqli_query($connection, $q);
echo '<select name="shipmethod">';
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC));
{
echo '<option value="' . $row['shipmethodid'] . '">' . $row['shipmethoddesc'] . '</option>';
}
echo '</select>';
mysqli_free_result($result); // free up the results
}
沒有連接錯誤,在表名或列名沒有錯別字。 HTML輸出顯示選擇選項存在,但它是空的。我想爲此使用mysqli。
在這個問題上似乎有無數的話題,但據我所知,我的代碼匹配那些已經回答的問題的正確答案。
在此先感謝。從該行
你有什麼試過?你檢查過查詢是否返回任何內容?我還建議你使用準備好的語句,因爲你已經使用了MySQLi。但是你應該在控制檯或者PHPMyAdmin中嘗試你的查詢,或者你可以做任何事情。 MySQL可能會失敗,但沒有內置的檢查,你永遠不會知道它在瀏覽器中......只是沒有結果。也許你可以用'print print_r($ row,true);'發佈$ row的內容。 –
在while循環內添加'print_r($ row);'查看返回結果 – 2012-12-22 04:00:18
Swapnesh釘住了它。但是,您的代碼也遭受「查詢和遺忘」弱點的影響。您查詢並將結果存儲在$ result中,但實際上並不檢查$ result。你應該有if($ result){//現在嘗試並獲取} else {printf(「Error:%s \ n」,mysqli_error($ connection)); }當然,正如Ian指出的那樣,查詢也可以返回一個空的結果集。 – gview