按Google API指南从XAMPP phpMyAdmin导出生成地图标记遇报错求助
解决"Undefined index: lat"错误的实用步骤
这个错误其实很典型——你的storelocator.php脚本第4行尝试访问一个叫lat的数组元素,但这个元素根本不存在。咱们一步步排查解决:
先定位第4行的代码逻辑
打开你的脚本找到第4行,看看是在从URL参数里取$_GET['lat'],还是从数据库查询结果里拿$row['lat']:- 如果是
$_GET['lat']:直接在浏览器打开脚本时,URL里没传lat参数(指南里这个脚本是给前端地图调用的,地图会自动传参数)。你可以给参数加个默认值避免报错:
或者直接模拟参数访问,比如输入$lat = isset($_GET['lat']) ? $_GET['lat'] : 0;http://localhost/projectgmaps/storelocator.php?lat=37.7749&lng=-122.4194测试。 - 如果是
$row['lat']:问题大概率出在数据库表结构或者SQL查询上。
- 如果是
核对数据库表结构
打开phpMyAdmin检查你的商店数据表,确认是否真的有lat字段(注意MySQL在部分系统里区分大小写,别把Lat写成lat或者反过来)。如果你的字段名是latitude这类别名,脚本里的$row['lat']自然找不到对应索引,得改成和数据库字段一致的名字。检查SQL查询语句
看看脚本里的SQL查询有没有正确选中lat字段。比如如果你的查询是:SELECT id, name, address FROM stores结果集里根本没有
lat字段,得改成:SELECT id, name, address, lat, lng FROM stores临时调试找问题
要是还是摸不着头脑,就在第4行之前加一行调试代码,把要访问的数组打印出来:// 若是数据库结果数组 print_r($row); // 若是GET参数数组 print_r($_GET);这样就能直观看到数组里的键名,瞬间定位哪里错了。
内容的提问来源于stack exchange,提问作者Paige
相关产品推荐
相关产品推荐

