Как передать переменные параметров в запрос геойсона - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть запрос на этот 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

Кто-то может сказать мне, что я делаю не так?

...