在将数据加载到数组中并使用foreach循环后,我从数据库表中获取数据时遇到问题,它返回空白而不是值。我尝试使用这种方式$row['']
可以正常工作,但我想使用此操作数->
但要获取银行数据。
$query = "SELECT * FROM pages_words";
$select_posts = mysqli_query($connection, $query);
$rows[] = array();
while ($row = mysqli_fetch_assoc($select_posts))
$rows[] = $row;
foreach ($rows as $key => $row) {
$idpw = $row['idpw'];
$pages = $row['pages'];
$words = $row['words'];
$amount_added = $row['amount_added'];
$page_type = $row['page_type'];
if ($page_type == 'double') {
if ($row->idpw == $post['no_of_pages']) {
echo '<option selected="selected" id="' . $row->idpw . 'nop" value="' . $row->idpw . '" title="' . $row->amount_added . '"> ' . $row->pages . ' Page(s) / ' . $row->words . ' Words</option>';
} else {
echo '<option id="' . $row->idpw . 'nop" value="' . $row->idpw . '" title="' .
$row->amount_added . '"> ' . $row->pages . ' Page(s) / ' . $row->words . ' Words</option>';
}
}
}
?>
blank data 请帮助解决问题
答案 0 :(得分:0)
您使用了mysqli_fetch_assoc()
,它可以将行作为关联数组来获取。在foreach循环的其他位置,您正在使用数组语法(例如$idpw = $row['idpw'];
)正确访问该行。您无法使用对象语法访问数组值。在输出选项时,可以使用$row->idpw
,也可以只使用先前创建的$row['idpw']
变量,而不是使用$idpw
。
如果希望箭头运算符起作用,则需要使用mysqli_fetch_object()
,但是如果这样做,则需要更改使用数组语法的位置,以将对象语法用作好吧。