php - MySQL 查询获取第一列数据 & MySQL 查询获取重复数据

标签 php mysql

所以我的问题是我试图从 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/

相关文章:

php - 带有错误处理的 Wordpress 自定义登录

php - 在 PHP 中声明一个不必要的变量会消耗内存吗?

php - Laravel 应用程序显示文件列表而不是 "Hello Page"

php - 根据单元格中的多个值选择表格

php - MySQL 选择所有缺失的记录

php - Mysqli_query无故返回FALSE

php - 左连接VS内连接较少行数mysql pdo php

php - 如何在php搜索结果之后的新页面上显示每条记录

mysql - 使用user以外的表进行登录认证

javascript - php _gettext 输出javascript代码