[英]Why my SQL query doesnt work in PHP?
So I use ms sql to store latitude and longitude in geography point, in sql I acces that data with:因此,我使用 ms sql 在地理点中存储纬度和经度,在 sql 中我访问该数据:
SELECT
location.Lat AS lat,
location.long AS long,
location
FROM tableName;
And it work good, lat is 20,4706622 long is 44,8132969 and location is some messy hexa number.它运行良好,纬度为 20,4706622,长度为 44,8132969,位置是一些凌乱的十六进制数。
But when I try same in PHP it doesnt work, it's same and is caused by:但是当我在 PHP 中尝试相同时它不起作用,它是相同的并且是由以下原因引起的:
location.lat/long
Here is how my php looks like这是我的 php 的样子
<?php
session_start();
include "connect.php";
$query = $handler->query("SELECT location.lat AS lat, street FROM shops");
$row = $query->fetch(PDO::FETCH_OBJ);
$location[0] = $row->lat;
$location[1] = $row->street;
echo json_encode($location);
If I replace location.lat/long with anything else like location, street, city or any other column it will work.如果我将 location.lat/long 替换为位置、街道、城市或任何其他列等其他内容,它将起作用。 I know it is up to location.lat, but I do not know how to format it different.我知道这取决于 location.lat,但我不知道如何将其格式化。 If anything is not clear please ask.如果有什么不清楚的请询问。
If I'm correct you named your fields location.Lat
and location.long
如果我是正确的,您将您的字段命名为location.Lat
和location.long
Change your field names of your table to lat
and long
将表的字段名称更改为lat
和long
Then change your query to:然后将您的查询更改为:
SELECT
Lat AS lat,
long AS long,
location
FROM tableName;
Another option is to create a view if you can't change the db structure for some reason.如果由于某种原因无法更改数据库结构,另一种选择是创建视图。
According to you this query works:根据您的说法,此查询有效:
SELECT
location.Lat AS lat,
location.long AS long,
location
FROM tableName;
If your query works then you could create a view by:如果您的查询有效,那么您可以通过以下方式创建视图:
create view new_table_name as
SELECT location.Lat AS lat, location.long AS long, location FROM tableName;
Then change your php script to use the new view as if it was a normal table.然后更改您的 php 脚本以使用新视图,就好像它是一个普通表一样。
Select * from new_table_name
Should give you an idea what just happened.应该让你知道刚刚发生了什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.