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

问题描述 投票:0回答:1

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

注意:未定义偏移:1 in第63行的F:\ xampp \ htdocs \ dashboard \ working_files \ admin_home.php注意:未定义的偏移量:2 inF:\ xampp \ htdocs \ dashboard \ working_files \ admin_home.php第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
php mysql mysqli mysqli-fetch-array
1个回答
2
投票

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];

如果至少有三行,则>

© www.soinside.com 2019 - 2024. All rights reserved.