我对准备:
有疑问$query_prep_insert['Prepare'] = 'INSERT INTO schema_125."testalogg" (the_geom, OBJECTID_1) VALUES (?,?),(?,?);';
执行:
$query_prep_insert['Insert'] = array(
'ST_SetSRID(ST_GeomFromGeoJSON(\'{"type":"Point","coordinates":[961223.18558917,5745885.0742317]}\'), 3395)',
'1540',
'ST_SetSRID(ST_GeomFromGeoJSON(\'{"type":"Point","coordinates":[961201.163454,5745.5677]}\'), 3395)',
'1541'
);
然后,使用PDO我发送查询:
$stmt = $connection->prepare( $query_prep_insert['Prepare'] );
$stmt->execute( $query_prep_insert['Insert'] );
我收到错误:
PDOStatement :: execute():SQLSTATE [XX000]:内部错误:7错误: 解析错误 - 无效几何提示:“ST”< - 解析错误
引用pdo 会阻止正确解释函数。 有办法逃避或避免引用函数吗?
聚苯乙烯。我无法在以下方面找到解决方案: Using MySQL functions in PHP PDO prepared statements因为我认为这些值未正确连接而且我收到错误“数据类型不匹配”。
谢谢你, Rickyx
答案 0 :(得分:2)
解决:用这个准备:
$query_prep_insert['Prepare'] = 'INSERT INTO schema_125."testalogg" (the_geom, OBJECTID_1) VALUES ( ST_SetSRID(ST_GeomFromGeoJSON( ? ), 3395), ? );';
只是执行的原始值:
$query_prep_insert['Insert'] = array(
'{"type":"Point","coordinates":[961223.18558917,5745885.0742317]}',
'1541'
);
谢谢弗兰克。