php - 使用 mysqli_num 将数据库列的所有值存储在数组中(为什么不起作用)

标签 php mysql mysqli

为什么不能将输出的三个值存储到索引为数字的数组中? 其给出的错误如下:

Notice: Undefined offset: 1 in F:\xampp\htdocs\dashboard\working_files\admin_home.php on line 63 Notice: Undefined offset: 2 in F:\xampp\htdocs\dashboard\working_files\admin_home.php on line 64

    $m_name_detail1_query="SELECT m_name FROM movies";

    $run_m_name_detail1_query=mysqli_query($connection,$m_name_detail1_query);

    $fetch_m_name_details=mysqli_fetch_array($run_m_name_detail1_query,MYSQLI_NUM);


?>          <?php echo $fetch_m_name_details[0] ?>//working
            <?php echo $fetch_m_name_details[1] ?>//not working
            <?php echo $fetch_m_name_details[2] ?>//not working

最佳答案

mysqli_fetch_array() 返回(在您的情况下)来自 SQL 语句的一行数据的数字索引数组,因为您的 SQL 是

$m_name_detail1_query="SELECT m_name FROM movies";

每行仅包含 1 个值 - 这是您找到的有效的 $fetch_m_name_details[0]

如果您想要一系列行中的值,请使用mysqli_fetch_all()

$fetch_m_name_details=mysqli_fetch_all($run_m_name_detail1_query,MYSQLI_NUM);

然后您会发现$fetch_m_name_details将包含一个行数组,因此您可以使用

echo $fetch_m_name_details[0][0];
echo $fetch_m_name_details[1][0];
echo $fetch_m_name_details[2][0];

如果至少有 3 行

关于php - 使用 mysqli_num 将数据库列的所有值存储在数组中(为什么不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242188/

相关文章:

php - 将 id 更新为 max(id)+1

PHP Cronjob 不执行

php - 如何使用 PHPUnit 进行单元测试来登录我的 Zend 应用程序

php - 如何再获取 1 但稍后再删除它?

javascript - PHP 登录脚本错误地显示 HTML 代码

php - 没有 root 访问权限 - 如何启用 PHP SQlite,其中 PHP 已符合 "without-sqlite"?

MySQL空间几何验证wkt

mysql - sql select 查询不返回某些列

php - 计算左连接的结果?

php - 来自 JSON 的 mysql 中的 bind_param