【发布时间】:2017-04-14 07:54:48
【问题描述】:
我想在查询中打印字符串值。我在数组中定义了变量。 在我执行查询时正在运行的以下主要查询中,我得到了结果。
$query = "SELECT count, mahkoy_kod , mahkoy_adi, ilce_id, st_x(st_transform(st_centroid(t2.geom),4326)) as lng,st_y(st_transform(st_centroid(t2.geom),4326)) as lat from
(SELECT count(*),t1.knt_f_mahkoy_id FROM a.s_all t1
where st_intersects(t1.geom,st_transform(ST_GeomFromText( format('POLYGON((%s %s, %s %s, %s %s, %s %s,
%s %s))', 29.743849487304715, 41.24992343698962, 28.481108398437527, 41.24992343698962,
28.481108398437527, 40.749326052646055, 29.743849487304715, 40.749326052646055,
29.743849487304715, 41.24992343698962 ), 4326),500000))
group by knt_f_mahkoy_id ) t1
join analiz.k_spt_dis_mah_koy t2 on t1.knt_f_mahkoy_id = t2.mahkoy_kod
where count > 100";
当我使用 php pdo 时,我得到的错误是
无法确定参数 $1 的数据类型 块引用
这是php代码。这里用于运行查询的数据库类。当我使用 var_dump 打印数据时出现错误。我怎么解决这个问题?
$query = "SELECT count, mahkoy_kod , mahkoy_adi, ilce_id, st_x(st_transform(st_centroid(t2.geom),4326)) as lng,st_y(st_transform(st_centroid(t2.geom),4326)) as lat from
(
SELECT count(*),t1.knt_f_mahkoy_id FROM a.s_all t1
where st_intersects(t1.geom,st_transform(ST_GeomFromText( format('POLYGON((%s %s, %s %s, %s %s, %s %s, %s %s))',
:long_high, :lat_high, :long_low, :lat_high, :long_low, :lat_low, :long_high, :lat_low, :long_high, :lat_high ), 4326),500000))
group by knt_f_mahkoy_id
) t1
join analiz.k_spt_dis_mah_koy t2 on t1.knt_f_mahkoy_id = t2.mahkoy_kod where count > 100";
$data = Database::query($query, array("long_high"=>$long_high, "lat_high"=>$lat_high, "long_low"=>$long_low, "lat_low"=>$lat_low));
【问题讨论】:
标签: php postgresql pdo