所以我的问题是,我试图从一个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>发布于 2017-03-22 23:57:36
mysqli_fetch_array() (和其他mysqli_fetch_XXX()函数)只返回结果的一行。必须在循环中调用它才能得到所有的行。您不需要在这个数组上循环,只需访问所需的列。
while ($row = mysqli_fetch_assoc($results)) {
$fname = $row['first_name'];
echo "<h1>$fname</h1>";
}发布于 2017-03-23 00:01:08
Mysqli_fetch_array()只检索一行输出:
while($r=mysqli_fetch_array($result)) {
print $r[0] . "<br />";
}https://stackoverflow.com/questions/42964808
复制相似问题