У меня есть запрос на этот geojson.php:
<?php // Connection à la base de données
require_once '../utils/constante.php';
try {
$dbconn = new PDO('pgsql:host=localhost;dbname=anafor', 'postgres', 'postgres');
//$dbconn=new PDO('pgsql:dbname=anafor;user=postgres;password=postgres;host=localhost');
$dbconn->exec("SET CHARACTER SET utf8");
$dbconn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
// S'il existe un problème de connection, on obtient le message d'erreur
} catch(PDOException $erreur) {
$erreur->getMessage(); // Supprimer en production
echo 'erreur';
}
//projection table plantation
if($dbconn){
$sqlCount="SELECT num_plant FROM plantation";
$reqCount=$dbconn->prepare($sqlCount);
$reqCount->execute();
$nbObjet=$reqCount->rowCount();
if($nbObjet>0){
// Exécution de la requête SQL GeoJSON
$sqlGeoJSON="SELECT json_build_object(
'type', 'FeatureCollection',
'crs', json_build_object(
'type', 'name',
'properties', json_build_object(
'name', 'EPSG:4326')),
'features', json_agg(
json_build_object(
'type', 'Feature',
'id', num_plant,
'geometry', ST_AsGeoJSON(geom)::json,
'properties', json_build_object(
'nom_table', nom_table,
'superficie', superficie,
'nom', nom_plant,
'type', typologie,
'photo', photo,
'date', date,
'geom', geom
)
)
)
) AS objet_geosjon FROM plantation where superficie=".$variable.";";
// objet_geosjon FROM plantation where superficie=".id.";";
//AS objet_geosjon FROM plantation where nom_plant='plantationbikoro';";
//AS objet_geosjon FROM plantation where superficie=".SUPERF_.";";
//) AS objet_geosjon FROM plantation where num_plant=1;";
$reqGeoJSON=$dbconn->prepare($sqlGeoJSON);
$reqGeoJSON->execute();
$dataGeoJSON=$reqGeoJSON->fetch();
if($dataGeoJSON){
$objetGeoJSON=$dataGeoJSON['objet_geosjon'];
echo $objetGeoJSON;
}else{
echo 'erreur';
}
}else{
echo 'NaN';
}
}
При попытке выполнить я получаю эту ошибку:
Неустранимая ошибка PHP: UncaughtPDOException: SQLSTATE [42883]: неопределенная функция: 7 ОШИБКА: оператор не существует: изменение символа = целое число \ nLINE 24: ...) AS objet_geosjon ОТ плантации, где superficie = 2; \ n
Кто-то может сказать мне, что я делаю не так?