我有一个看起来像这样的mySQL表(还有其他一些我没有选择的列):
我有一个mysqli php查询:
$sql=('SELECT point FROM placemarks WHERE id < 5');
结果:
while ($row = $rs->fetch_assoc()) {
printf ("%s <br />", $row["point"]);
-157.798176, 21.254402, 0
-157.804087, 21.253042, 0
-157.805289, 21.252882, 0
首先,我想在逗号上拆分结果。一旦我有了,我想将值插回到&#39; lat&#39;和&#39; lng&#39;用PHP和mysqli的列。我已经搜索并尝试了几个小时。在这一点上,我确定我走的是完全错误的道路。
答案 0 :(得分:1)
使用explode并将其分解为数组:
explode()函数将字符串分解为数组。
print_r(explode(",",$row["point"]));//breaks into pieces at comma
然后创建所需的查询并按照您的要求将其放入数据库
答案 1 :(得分:1)
UPDATE placemarks
SET lat = SUBSTRING_INDEX(point, ',', 1)
,lng = SUBSTRING(SUBSTRING_INDEX(point, ',', -1), 1, -2)
答案 2 :(得分:0)
在php爆炸中可能。
$point = explode(',', $row['point']);
答案 3 :(得分:0)
除非你需要拆分然后在php中操作只是为了更新数据库中的lat / lng然后你可以在这样的一个查询中这样做:
update `placemarks` set `lat`=substring_index(`point`,",",1 ), `lng`=substring_index(`point`,",",-1 );
该死的 - 从未注意到或承认尾随零
update `placemarks` set
`lat`=substring_index( substring_index(`point`,",",2 ),",",1 ),
`lng`=substring_index( substring_index(`point`,",",2 ),",",-1 );