所以我的问题是我试图从 students
表中获取所有 first_name
,但是当我执行 mysqli_fetch_array
并输出结果使用 print_r()
1,它只输出表中的第一个 first_name
。
学生表
students_id | first_name | last_name | teacher_id
1 | abc | efg | 10
2 | 123 | xyz | 10
所以输出是Array ( [0] => wda [first_name] => wda )
。但我希望它同时输出 first_name
。
我还得到了相同数据的副本。
例子
Array ( [0] => abc [first_name] => abc )
数组存储了两次abc
,我怎么能不得到数据的副本呢?
PHP代码
<!DOCTYPE html>
<html>
<head>
<title>Name Tags</title>
</head>
<body>
<?php
require '../../connect.php';
$results = mysqli_query($link, "SELECT first_name FROM students");
if($results) {
$results_arr = mysqli_fetch_array($results);
print_r($results_arr);
if(is_array($results_arr)) {
foreach ($results_arr as $fname) {
echo "
<h1>$fname</h1>
";
}
} else {
echo '<h1>Empty</h1>';
}
} else {
echo 'Sorry, we ran into an error, please try again later.';
}
?>
</body>
</html>
最佳答案
mysqli_fetch_array()
(和其他 mysqli_fetch_XXX()
函数)只返回一行结果。您必须在循环中调用它才能获取所有行。您无需遍历此数组,只需访问所需的列即可。
while ($row = mysqli_fetch_assoc($results)) {
$fname = $row['first_name'];
echo "<h1>$fname</h1>";
}
关于php - MySQL 查询获取第一列数据 & MySQL 查询获取重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42964808/