PHP mysqli 查询结果在数组中存储时出现乱码或丢失?

PHP mysqli query results garbled or missing when stored in an array?

提问人:user3055756 提问时间:12/2/2022 最后编辑:user3055756 更新时间:12/2/2022 访问量:43

问:

在PHP中,我正在尝试查询mysqli db并将其放入数组中。

这是我的代码:

        function get_hotlist_array() {
                include 'initvars.inc.php';
                $hotlistsql='select plate from hotlist where notifyPOCUID =1 ;';
                $hotlistlink = set_up_mysql_link ();  //custom function to set up the link
                $hotlistarray = mysqli_query($hotlistlink, $hotlistsql);
                print_r($hotlistarray);
                return $hotlistarray;
        } // End function get_hotlist_array

要测试数组$hotlistarray的内容,您可以看到上面的 print_r 函数。它产生以下结果:

mysqli_result Object ( [current_field] => 0 [field_count] => 1 [lengths] => [num_rows] => 12 [type] => 0 ) 

**num_rows = 12?很好!

使用 MySQL WorkBench,我执行相同的查询,以下是我的结果:

查询:

select plate from hotlist where notifyPOCUID =1 ;

结果

B0JAMS
HVT2701
HLG5574
BNT6417
KSL0854
KLS4012
JWN1809
CMV4859
NZN4319
NXX3035
65DV21
KXJ2991

结果中确实有 12 行。所以这是令人鼓舞的!但是print_r和var_dump都没有显示我应该在数组$hotlistarray中的实际值。

我哪里做错了?

提前致谢。


这是更正后的代码。

        function get_hotlist_array() {
                include 'initvars.inc.php';
                $hotlistsql='select plate from hotlist where notifyPOCUID =1 ;';
                $hotlistlink = set_up_mysql_link ();
                $tempresult = mysqli_query($hotlistlink, $hotlistsql);
                if ($tempresult !== false) {
                        $hotlistarray = $tempresult->fetch_all();
                } // End if tempresult is false
                print_r($hotlistarray);
                return $hotlistarray;
        } // End function get_hotlist_array

PHP 数组 mysqli

评论


答:

1赞 kissumisha 12/2/2022 #1

您需要获取结果。

如果想要关联数组,请使用:

$row = mysqli_fetch_assoc($hotlistarray)

如果运行 var_dump($row),您现在应该会看到结果。