所以我的问题是我尝试从first_name
表中获取所有students
,但是当我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>
答案 0 :(得分:1)
mysqli_fetch_array()
(以及其他mysqli_fetch_XXX()
函数)只返回结果的一行。你必须在一个循环中调用它来获取所有行。您不需要遍历此数组,只需访问所需的列。
while ($row = mysqli_fetch_assoc($results)) {
$fname = $row['first_name'];
echo "<h1>$fname</h1>";
}
答案 1 :(得分:0)
Mysqli_fetch_array()只检索单行输出:
while($r=mysqli_fetch_array($result)) {
print $r[0] . "<br />";
}