PHP中mysqli查询结果存入数组无实际值问题排查与解决
PHP mysqli查询结果无法获取实际字段值的解决办法
问题现象
- 执行
mysqli_query查询数据库后,用print_r输出$hotlistarray,仅得到mysqli_result对象(显示num_rows=12),看不到plate字段的实际内容 - 相同的SQL语句在MySQL WorkBench中执行,能正常返回12条包含
plate字段的有效结果
问题本质
mysqli_query执行成功后返回的是结果集对象,并非直接的数组数据,必须调用结果集的获取方法才能提取出实际的记录内容。
修正后的代码
// 假设已完成mysqli连接,连接对象为$conn $sql = "SELECT plate FROM your_table WHERE ..."; // 替换为你的实际查询语句 $result = mysqli_query($conn, $sql); // 使用fetch_all将结果集转为关联数组 $hotlistarray = $result->fetch_all(MYSQLI_ASSOC); // 此时print_r即可看到包含plate字段的实际数据 print_r($hotlistarray);
补充说明
MYSQLI_ASSOC:返回以字段名为键的关联数组MYSQLI_NUM:返回以数字索引为键的数组MYSQLI_BOTH:同时返回关联和索引数组(默认值)
内容的提问来源于stack exchange,提问作者user3055756
相关产品推荐
相关产品推荐

