PostGisl Pdo подготовить-вставить: функции указаны

У меня есть эти запросы для подготовить:

$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 препятствует правильной интерпретации функций.
Есть способ избежать или избежать цитирования функций?

Ps. Я не могу заставить работать решение в:
Использование функций MySQL в PHP PDO подготовил операторы потому что я думаю, что значения не правильно соединены, и я получаю ошибку «Несоответствие типа данных».

Спасибо,
Rickyx

1

Решение

Решено: использовать это для подготовки:

$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'
);

Спасибо, Фрэнк.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]