-1

发生的事情是我正在使用谷歌地图 api,并且我有一个包含一些商店的数据库,数据库是这些商店的方向,使用 javascript 获取商店和用户位置之间的距离,我想要的主题按接近度排序,我所做的是第一页计算全部然后重定向以下格式"pagina.php?data=(ID, DISTANCE),(ID, DISTANCE), ..... "

然后获取参数

<?php $data = $ _GET['data'] ?>   // and example of "data" -> "(1,1582),(2,3568)," end with comma

我正在尝试使用此命令“”在 phpMYAdmin 中工作“”

CREATE TEMPORARY TABLE distancias_temporales (id int(50) NOT NULL, distancia DECIMAL(12,2) NOT NULL DEFAULT 0.00);

INSERT INTO distancias_temporales (id, distancia) VALUES (1, 14.25), (2, 13.34);

SELECT * FROM talleres,distancias_temporales WHERE distancias_temporales.id = talleres.ID ORDER BY distancia ASC;

当然要做动态改变值​​​​

$ data = "(-1, -1)";
if (isset ($ _GET ['data'])) {
    $ data = $ _GET ['data']. "(-1, -1)";
}

在第二行:

 "INSERT INTO d (id, distancia) VALUES ".$data.";";

但是mysql根据他告诉我的页面向我发送错误,代码是按我想要的方式发送的

但是当我尝试放在页面上时它不起作用......

任何人都可以帮助我,我认为问题是多查询

4

1 回答 1

0

MySQL 可以处理多个插入语句。Barmar 提出了一个很好的观点,即某些连接管理器不处理该构造。

假设 SQL 未更改发送,则 $data 的分配中似乎缺少逗号。

$ data = $ _GET ['data']. "(-1, -1)";

应该...

$data = $ _GET['data'] . ", (-1, -1)";

当且仅当值 $_GET['data'] 不为空,例如 data="(ID, DISTANCE),(ID, DISTANCE)"。

于 2013-07-02T03:28:56.043 回答