如何将参数变量传递给geojson请求

时间:2019-04-13 08:51:16

标签: php geojson

我有这个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致命错误:未捕获的PDOException:SQLSTATE [42883]:未定义的函数:7错误:运算符不存在:字符变化=整数\ nLINE 24:...)AS objet_geosjon FROM plantation,其中superficie = 2; \ n < / p>

有人可以告诉我我做错了什么吗?

0 个答案:

没有答案