我一直在尝试使用本指南 http://code.google.com/intl/no-NO/apis/maps/articles/phpsqlajax_v3.html 解决一些使用 api 实现谷歌地图的问题。
我停留在这部分:使用另一个文档中的变量集或在同一个文档中修改查询,并像这样处理服务器基本名称:
*(这是生成xml文件的php文件:http://gmaps-samples-v3.googlecode.com/svn/trunk/articles/phpsqlajax/phpsqlajax_genxml3.php)*
$mapid = str_replace(".php","",basename($_SERVER['REQUEST_URI']));
$query = "SELECT * FROM markers WHERE type='".$mapid."'";
这行不通...
如果我在显示 map 的主 webpage.php 文件中设置变量也不起作用...如果我在同一个文件 (xmlgenerate.php) 中设置变量,它会起作用,如下所示:
$mapid = "mymap";
$query = "SELECT * FROM markers WHERE type='".$mapid."'";
希望有人能告诉我我在这里做错了什么。
编辑:顺便说一句,这里是实时文件的链接。 xmlgenerate=> http://www.pinnedmap.com/mapdata.php和映射页面=> http://www.pinnedmap.com/test.php注意。一个有效的查询示例是:wondersoftheworld
从 test.php 传递变量是理想的。
最佳答案
我不明白你想在这里做什么:
$mapid = str_replace(".php","",basename($_SERVER['REQUEST_URI']));
试试这个:
$mapid = mysql_real_escape_string($_GET['mapid']);
(mysql_real_escape_string
部分防止 SQL 注入(inject))
现在只需像 file.php?mapid=something
那样请求您的文件,一切都会正常...
关于php文件中的php处理/变量生成标记的xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9455023/