我有這樣的代碼在我的課:在瀏覽器查詢結果給出了超過它應該
<select>
<?php
$datos = $db->get_data();
for($i=0;$i<sizeof($datos);$i++)
{
?>
<option value="<?php echo $datos[$i]["id_especialidad"]?>"><?php echo $datos[$i]["descripcion"]?></option>
<?php
}
?>
</select>
現在:
public function get_data(){
$sql = "select id_especialidad, descripcion from especialidad";
foreach($this->dbh->query($sql) as $row)
{
$this->rows[] = $row;
}
return $this->rows;
}
現在我用它從HTML文件中像這樣我看到與行的選擇,但在第一行說:「注意:未定義的索引:descripcion in(file_path)」
我在我的表中有9行bu t當我把這個「打印sizeof($ datos)」它顯示11行。
發生了什麼事?
是否有另一種顯示此數據的方法?
謝謝!
你檢查過陣列嗎? 'print_r($ datos)'查看它包含的內容。 –
用一個'foreach'循環減少一些混淆。 PHP中很少需要增量式for($ i = 0; $ i
我們可以在數據庫類中看到你的'query'函數嗎?也許它是作爲'fetch_row'獲取你的結果,而你試圖將它作爲'fetch_assoc'或'fetch_array'來使用 – CodeBird