数据库(名为countries
):
ID NAME ISO TAG
----------------------------------------------------------------------
1 Netherlands NL Dutch
2 Germany DE Deutsch
3 Poland PL Polski
4 Rusia RU Ruski
PHP 7和mysqli代码:
$conn = mysqli_connect('localhost', 'root', '', 'test');
$key = "SELECT ID FROM countries";
$result = mysqli_query($conn, $key);
while ($row = mysqli_fetch_array($result)) {
foreach ($row as $key) {
echo $row['name'];
echo '<br>';
}
}
这将输出11223344
。将SQL代码更改为$key = "SELECT ID, NAME FROM countries";
时,输出将为1111222233334444
(第一个的两倍)。为什么输出加倍,为什么当我添加额外的行时,它会加倍ID?
答案 0 :(得分:0)
mysqli_fetch_array()
使用$row[0]
等数字键获取数据。
将mysqli_fetch_assoc()
用于$row['name']
等命名密钥,并移除迭代它们的foreach()
。
while ($row = mysqli_fetch_assoc($result)) {
echo $row['name'];
echo '<br>';
}