Pages: 1
- Sujet précédent - Formulaire PHP : Probleme d'insersion de données dans postgis - Sujet suivant
#1 Fri 25 January 2013 22:55
- abdoudiouck
- Participant occasionnel
- Lieu: RENNES
- Date d'inscription: 19 Aug 2010
- Messages: 17
Formulaire PHP : Probleme d'insersion de données dans postgis
Voila j ai crée un formulaire PHP pour rajouter de la donnée attributaire et géométrique voici la requête
Code:
<?php $db = pg_connect("host=localhost port=5432 dbname=postgres user=postgres password=postgres"); $parcelles="'parcelles'.comm"; $query = "INSERT INTO $parcelles (gid,id,nom,the_geom) VALUES ('$_POST[gid]','$_POST[id]','$_POST[nom]','$_POST[the_geom]')"; pg_query($db,$query); ?>
sauf que la requête de php me renvoie la réponse suivante
Code:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for integer: "" LINE 1: INSERT INTO "parcelles".comm VALUES ('','','') ^ in /Applications/XAMPP/xamppfiles/htdocs/php/php/insert.php on line 5
Hors ligne
#2 Sat 26 January 2013 12:27
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonjour,
Ta requête est fausse, tu dois avoir un entier quelque part, probablement pour les champs gid et/ou id :
Code:
$query = "INSERT INTO $parcelles (gid,id,nom,the_geom) VALUES ($_POST[gid],$_POST[id],'$_POST[nom]','$_POST[the_geom]')";
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Mon 28 January 2013 10:13
- sigdu80
- Participant actif
- Date d'inscription: 2 Sep 2010
- Messages: 112
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonjour,
en complément de Yves, je dirai qu'il faut également vérifier que tes variables POST soient bien remplies, surtout concernant ceux qui doivent être placés dans des colonnes NOT NULL dans ta table SQL.
Code:
<?php if(empty($_POST[gid]) || empty($_POST[id]) || empty($_POST[nom]) || empty($_POST[the_geom]) ) exit("Paramètres incorrects."); $db = pg_connect("host=localhost port=5432 dbname=postgres user=postgres password=postgres"); $parcelles="'parcelles'.comm"; $query = "INSERT INTO $parcelles (gid,id,nom,the_geom) VALUES ('$_POST[gid]','$_POST[id]','$_POST[nom]','$_POST[the_geom]')"; pg_query($db,$query); ?>
Le champ gid n'est pas de type serial ?
Dernière modification par sigdu80 (Mon 28 January 2013 10:14)
Hors ligne
#4 Mon 28 January 2013 10:52
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonjour,
Je vous invite fortement à ne pas fabriquer de requetes SQL en concaténant des valeurs recues depuis des formulaires Web.
Votre code devient sensible à de l'injection SQL.
Vous pouvez, a la place, utiliser des prepared statements qui permettent d'eviter ce risque et de rendre l'ecriture des requetes plus robuste aux différentes valeurs (http://php.net/manual/en/function.pg-prepare.php).
Nicolas
Hors ligne
#5 Wed 30 January 2013 17:16
- abdoudiouck
- Participant occasionnel
- Lieu: RENNES
- Date d'inscription: 19 Aug 2010
- Messages: 17
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonjour et merci pour vos réponses
Alors pour Yves, en effet le probleme venait du gid en integer du coup je l'ai changé et j ai réussi a integrer les données mais je suis contraint de laisser mon gid en serial et ca bloque a ce niveau et je vais l'enlever dans la requete ou le mettre par default .
Pour sigdu80 et Nicolas Ribot merci pour votre eclairage je suis entrain de revoir les codes je vous tiendrai au courant
Hors ligne
#6 Thu 31 January 2013 09:33
- abdoudiouck
- Participant occasionnel
- Lieu: RENNES
- Date d'inscription: 19 Aug 2010
- Messages: 17
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonjour alors pour tester j ai modifié le code qui marche pour remplir le formulaire. La ou ca coince c est l'ajout de la géométrie sachant que
pour le code que j ai utilisé pour créer les point geom est la suivante:
UPDATE mdshema1.ville SET geom = ST_GeomFromText('POINT ('||longitude||' '||latitude||')',4326);
Et enfin voici le code PHP
Code:
<?php //Header de type texte pour l'encodage des accents header('Content-type: text/html; charset=UTF-8'); // Parametre de connection $pg_connect = pg_connect("host=localhost port=5432 dbname=postgres user=postgres password=bacspace"); $schema = '"mdshema1".ville'; $geom = "ST_Transform(GeomFromText('".$_GET['geom']."',900913), 4326)"; $query2 = "INSERT INTO $schema (id,code,nom,geom) VALUES(DEFAULT,'".$_POST['id']."','".$_POST['nom']."','.$geom.')"; $result = pg_query($pg_connect ,$query2); ?>
Hors ligne
#7 Thu 31 January 2013 13:37
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonjour,
Comme l'a dit Nicolas, essayez avec des requêtes paramétrées, il est possible que cela vienne de la requête finale avec les apostrophes etc...
pouvez vous nous donner la valeur de $query2 ?
Hors ligne
#8 Thu 31 January 2013 14:08
- Cornet Jérémie
- Participant assidu
- Lieu: Nouméa
- Date d'inscription: 6 Apr 2008
- Messages: 229
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonjour,
Code:
$query2 = "INSERT INTO $schema (code,nom,geom) VALUES('".$_POST['id']."','".$_POST['nom']."',$geom.)";
Pas besoin d'insérer la colonne id si c'est pour mettre la valeur par default.
Il ne faut pas mettre entre guillemet l'appel des fonction postgis ($geom).
Par ailleurs, comme le disait Nicolas, votre code est extrêmement vulnérable aux injections SQL.
Il faut échapper toutes les variables provenant de l'utilisateur (POST et encore plus GET) avec les fonction php dédiées (pg_escape_string notamment).
C'est vraiment la base de la base de la sécurité web. Tel quel avec en plus une connexion postgresql administrateur un pirate débutant a accès à tout ce qu'il veut sur votre base (y compris en suppression, insertion, modification).
Dernière modification par Cornet Jérémie (Thu 31 January 2013 14:09)
Hors ligne
#9 Thu 31 January 2013 20:49
- abdoudiouck
- Participant occasionnel
- Lieu: RENNES
- Date d'inscription: 19 Aug 2010
- Messages: 17
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonsoir je suis debutant en php
j ai deja preparé des securités sur le code mais pour l'instant j essaye d'avancer sur l'intégration de la géométrie c ' est la ou ca bug
Alors le code avec if... exit.. ca me donne l'erreure Paramètre incorrectes
mais sans cette verification et sans la géométrie les données sont bien insérées
Code:
$schema = '"mdshema1".ville'; $geom = "ST_Transform(GeomFromText('".$_GET['geom']."',900913), 4326)"; //Verification des champs: or die(print_r($query ->errorInfo()) // Protection des données $id = pg_escape_string($id); $code = pg_escape_string($code); $nom = pg_escape_string($nom); $query = "INSERT INTO $schema (id,code,nom) VALUES(DEFAULT,'{$code}','{$nom}')" or die(print_r($query ->errorInfo())); $result = pg_query($pg_connect ,$query);
Hors ligne
#10 Thu 31 January 2013 22:15
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonsoir,
je ne comprends pas cette ligne de code:
$schema = '"mdshema1".ville';
elle te revoie: 'mdshema1'.ville
tu devrais remplacer par:
Code:
$schema ="mdshema1.ville";
pour récupérer correctement le nom de ta base + la table: mdshema1.ville
Cordialement.
Dernière modification par michel56 (Thu 31 January 2013 22:54)
Opérateur cartographique & DAO & PHP.
Hors ligne
#11 Fri 01 February 2013 10:50
- sigdu80
- Participant actif
- Date d'inscription: 2 Sep 2010
- Messages: 112
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonjour,
les préventions niveau sécurité sont intéressantes, mais il faudrait en parler seulement quand il aura déjà réussi à avoir son code qui fonctionne.
Je suis d'accord avec Michel56.
Sinon, fais un echo de ton INSERT INTO pour voir la ligne finale. Quitte à la copier coller dans ton pgAdmin ensuite pour voir ce qu'il faudrait rectifier et corriger ton code en conséquence.
Quand cela fonctionnera, rediscute des éléments de sécurité et montre ton code à nouveau.
Hors ligne
#12 Fri 01 February 2013 11:54
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonjour,
Pas tout a fait d'accord concernant les préconisations de sécurité:
1- On peut tres facilement oublier de revenir sur du code SQL qui marche lorsqu'on avance dans le dev de son application et qu'on rencontre potentiellement d'autres difficultés.
2- La bonne pratique peut parfois éviter des tâtonnements, comme ici avec la gestion des parametres.
Ceci dit, oui, il faut etre pragmatique et avancer
Code:
<?php //Header de type texte pour l'encodage des accents header('Content-type: text/html; charset=UTF-8'); // Parametre de connection $pg_connect = pg_connect("host=localhost port=5432 dbname=postgres user=postgres password=bacspace"); $schema = '"mdshema1".ville'; $query2 = "INSERT INTO $schema (code,nom,geom) VALUES($1,$2,ST_Transform(GeomFromText($3,900913), 4326))"; $result = pg_prepare($dbconn, "myQuery", array($_POST['code'], $_POST['nom'], $_GET['geom'])); // attention ici: la valeur prise pour le champ 'code' etait POST['id']. Est-ce bien voulu ? $result = pg_execute($pg_connect, "myQuery", $query2); ?>
Dans le contexte présent, il me semble que les prepared statements rendent le code plus clair, notamment en permettant de construire l'INSERT en une seule requete et en identifiant bien le parametre qui est recu du client: la geoemtrie sous forme textuelle.
Nico
Hors ligne
#13 Fri 01 February 2013 11:56
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Sous quelle forme récupérez vous la géométrie?
Est-ce en WKT? (de ce style : POINT( 12 34) )
Si c'est le cas, essayez cela dans un premier temps
Code:
<?php try { $bdd = new PDO('pgsql:host=localhost;port=5432;dbname=ma_db;user=root;password=mypass'); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $ma_geom_wkt = 'POINT(45 5)'; $req = $bdd->prepare('INSERT INTO :schema(code,nom,geom) VALUES(:code, :nom,:geom)'); $req->execute(array( 'schema' => 'mdshema1.ville', 'code' => $code, 'nom' => $nom, 'geom' => "ST_GeomFromText('" .$ma_geom_wkt. "',4326)"; )); ?>
Hors ligne
#14 Fri 01 February 2013 12:06
- abdoudiouck
- Participant occasionnel
- Lieu: RENNES
- Date d'inscription: 19 Aug 2010
- Messages: 17
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonjour et merci pour ces renseignements
Pour michel56 le code est du php et ca ne change rien c étais juste pour stocker la table dans une variable . Sous pgadmin elle fonctionne tres bien la requete
voici l'erreur que j ai avec mon code
Code:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: parse error - invalid geometry LINE 1: ...1".ville (id,code,nom,geom) VALUES(DEFAULT,'','', 'ST_Transf... ^ HINT: "ST" <-- parse error at position 2 within geometry in /Applications/XAMPP/xamppfiles/htdocs/php/requetteprep.php on line 30
L'erreure vient de la variable $geom j'ai testé ces deux la en vain
Code:
$geom = "ST_Transform(ST_GeomFromText('".$_POST['geom']."',900913), 4326)"; $geom1 ="ST_Transform(ST_GeomFromText('POINT('||latitude||' '||longitude||')',4326))";
Hors ligne
#15 Fri 01 February 2013 12:38
- sigdu80
- Participant actif
- Date d'inscription: 2 Sep 2010
- Messages: 112
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
J'ai du mal à suivre.
Tu dis :
Bonjour et merci pour ces renseignements
... Sous pgadmin elle fonctionne tres bien la requete
voici l'erreur que j ai avec mon codeCode:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: parse error - invalid geometry LINE 1: ...1".ville (id,code,nom,geom) VALUES(DEFAULT,'','', 'ST_Transf... ^ HINT: "ST" <-- parse error at position 2 within geometry in /Applications/XAMPP/xamppfiles/htdocs/php/requetteprep.php on line 30
Dans pgadmin, ta requête fonctionne, mais pas dans ton code ?
Peux-tu nous montrer le résultat d'un echo ?
1- On peut tres facilement oublier de revenir sur du code SQL qui marche lorsqu'on avance dans le dev de son application et qu'on rencontre potentiellement d'autres difficultés.
Je suis d'accord avec toi MAIS (car il y a souvent un MAIS ), il dit être débutant en php. C'est pour çà que je réagis différemment par rapport à çà.
Je pensais donc à : faisons en sorte que cela fonctionne PUIS sécurisons. Pour le prochain script qu'il fera, il faudrait essayer de raisonner comme ce que tu disais (même si cela va être dur au début comme il débute).
A moins que quand tu es commencé à apprendre le php, tu écrivais des choses super sécurisées dès le début, tu comprenais la syntaxe, les astuces et en plus toutes les subtilités pour pouvoir faire de la sécurité dès tes 1ers scripts ! Si c'est le cas je m'incline
Hors ligne
#16 Fri 01 February 2013 13:16
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
A moins que quand tu es commencé à apprendre le php, tu écrivais des choses super sécurisées dès le début, tu comprenais la syntaxe, les astuces et en plus toutes les subtilités pour pouvoir faire de la sécurité dès tes 1ers scripts ! Si c'est le cas je m'incline
Oh que non, hélas
Hors ligne
#17 Fri 01 February 2013 13:26
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Bonjour,
je pense que tu dois absolument mettre: $schema ="mdshema1.ville";
mais une question: quel est le nom de ta base de donnée?
dans ton code de connexion elle s’appelle "postgres" (dbname=postgres)
et après tu l'appelles "mdshema1"
Je pense que "mdshema1" est un schéma que tu as créé mais peut-on l'utiliser pour se connecter avec PHP?
teste avec:
Code:
$schema ="postgres.ville";
si ta base s'appelle réellement "postgres"
et pour faire une insertion tu n'es pas obligé de remettre le nom de la base de donnée. (elle est sélectionnée avec les paramètres de connexion)
Code:
$schema ="ville";
regarde cette doc sur les schémas: http://docs.postgresql.fr/9.0/ddl-schemas.html
Bon courage.
Dernière modification par michel56 (Fri 01 February 2013 14:12)
Opérateur cartographique & DAO & PHP.
Hors ligne
#18 Fri 01 February 2013 17:17
- abdoudiouck
- Participant occasionnel
- Lieu: RENNES
- Date d'inscription: 19 Aug 2010
- Messages: 17
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Voici le code que j utilise
Code:
<?php //Header de type texte pour l'encodage des accents header('Content-type: text/html; charset=UTF-8'); // Parametre de connection $host = 'localhost'; $database = 'postgres'; $column = 'geom'; $user = 'postgres'; $pass = 'bacspace'; $pg_connect = pg_connect("host=$host dbname=$database user=$user password=$pass"); // Acces a la table ville $schema = '"mdshema1".ville'; // Transformation géométrique $geom = "ST_Transform(ST_GeomFromText('".$_POST['geom']."',900913), 4326)"; $geom1 ="ST_Transform(ST_GeomFromText('POINT('||latitude||' '||longitude||')',4326))"; //Verification des champs: or die(print_r($query ->errorInfo()) // Protection des données $id = pg_escape_string(utf8_encode($_POST['id'])); $code = pg_escape_string(utf8_encode($_POST['code'])); $nom = pg_escape_string(utf8_encode($_POST['nom'])); //Requete d'insertion $query = "INSERT INTO $schema (id,code,nom) VALUES(DEFAULT,'{$code}','{$nom}')" or die(print_r($query ->errorInfo())); $result = pg_query($pg_connect ,$query); // echo "INSERT INTO mdshema1.ville (id,code,nom) VALUES(DEFAULT,'{$code}','{$nom}')"; ?>
Alors pour répondre a la question de $schema c est juste une variable pour acceder a la table qui contient les donnees ville
Je suis sur mac et pour eviter les problemes de quote dans ma requete j'ai appeler ca schema
sinon l'erreur est la suivante
Code:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: relation "ville" does not exist LINE 1: INSERT INTO ville (id,code,nom) VALUES(DEFAULT,'','') ^ in /Applications/XAMPP/xamppfiles/htdocs/webmapping/appli/villephp/requetteprep.php on line 30
En incluant echo insert ca me donne ca
Code:
INSERT INTO mdshema1.ville (id,code,nom) VALUES(DEFAULT,'','')
En rajoutant la géometrie comme ca
Code:
<?php //Header de type texte pour l'encodage des accents header('Content-type: text/html; charset=UTF-8'); // Parametre de connection $host = 'localhost'; $database = 'postgres'; $column = 'geom'; $user = 'postgres'; $pass = 'bacspace'; $pg_connect = pg_connect("host=$host dbname=$database user=$user password=$pass"); // Acces a la table ville $schema = '"mdshema1".ville'; // Transformation géométrique $geom = "ST_Transform(ST_GeomFromText('".$_POST['geom']."',900913), 4326)"; $geom1 ="ST_Transform(ST_GeomFromText('POINT('||latitude||' '||longitude||')',4326))"; //Verification des champs: or die(print_r($query ->errorInfo()) // Protection des données $id = pg_escape_string(utf8_encode($_POST['id'])); $code = pg_escape_string(utf8_encode($_POST['code'])); $nom = pg_escape_string(utf8_encode($_POST['nom'])); //Requete d'insertion $query = "INSERT INTO $schema (id,code,nom,geom) VALUES(DEFAULT,'{$code}','{$nom}',$geom)" or die(print_r($query ->errorInfo())); $result = pg_query($pg_connect ,$query); // echo "INSERT INTO mdshema1.ville (id,code,nom) VALUES(DEFAULT,'{$code}','{$nom}')"; ?>
j ai cette erreur
Code:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: parse error - invalid geometry HINT: "" <-- parse error at position 1 within geometry in /Applications/XAMPP/xamppfiles/htdocs/webmapping/appli/villephp/requetteprep.php on line 29
Hors ligne
#19 Fri 01 February 2013 17:39
- Cornet Jérémie
- Participant assidu
- Lieu: Nouméa
- Date d'inscription: 6 Apr 2008
- Messages: 229
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Une question bête mais ce script est bien appelé par un formulaire en méthode POST (d'ailleurs il y a un GET aussi dans votre script) ?
Merci de rajouter provisoirement
Code:
print_r($_POST); echo "<br />";print_r($_GET);
en tout début de script et de poster ce que ça affiche.
Hors ligne
#20 Fri 01 February 2013 17:39
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
La valeur $geom doit probablement etre vide.
Il faudrait que vous debuggiez toutes les variables utilisées dans votre script.
Nico
Hors ligne
#21 Fri 01 February 2013 18:03
- abdoudiouck
- Participant occasionnel
- Lieu: RENNES
- Date d'inscription: 19 Aug 2010
- Messages: 17
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
En fin sinon en ecrivant meme INSERT INTO mdschema1.ville la requette marche mais c est juste geom qui pose probleme
Hors ligne
#22 Fri 01 February 2013 18:58
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
J'ai essayé de simplifier le code au minimum:
Code:
<?php // Parametre de connection $host = 'localhost'; $database = 'postgres'; $user = 'postgres'; $pass = 'bacspace'; $pg_connect = pg_connect("host=$host port=5432 dbname=$database user=$user password=$pass"); // Transformation géométrique $geom = "ST_Transform(ST_GeomFromText(".$_POST['geom'].",900913), 4326)"; // Protection des données $id = pg_escape_string(utf8_encode($_POST['id'])); $code = pg_escape_string(utf8_encode($_POST['code'])); $nom = pg_escape_string(utf8_encode($_POST['nom'])); //Requete d'insertion $query = "INSERT INTO ville (id,code,nom,geom) VALUES($id, $code , $nom , $geom)"; pg_query($pg_connect ,$query); ?>
Je vois pas à quoi correspond "mdshema1"
Cordialement.
Dernière modification par michel56 (Fri 01 February 2013 19:05)
Opérateur cartographique & DAO & PHP.
Hors ligne
#23 Fri 01 February 2013 19:06
- abdoudiouck
- Participant occasionnel
- Lieu: RENNES
- Date d'inscription: 19 Aug 2010
- Messages: 17
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Merci je viens de le tester et ca me renvoie l'erreur suivante je vais essayer de voir la biblio php et postgis
Code:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "," LINE 1: INSERT INTO ville (id,code,nom,geom) VALUES(, , , ST_Trans... ^ in /Applications/XAMPP/xamppfiles/htdocs/webmapping/appli/villephp/requetteprep2.php on line 21
Hors ligne
#24 Fri 01 February 2013 19:21
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
regarde comme ça:
Code:
<?php // Parametre de connection $host = 'localhost'; $database = 'postgres'; $user = 'postgres'; $pass = 'bacspace'; $pg_connect = pg_connect("host=$host port=5432 dbname=$database user=$user password=$pass"); // Transformation géométrique $geom = "ST_Transform(ST_GeomFromText(".$_POST['geom'].",900913), 4326)"; // Protection des données $id = pg_escape_string(utf8_encode($_POST['id'])); $code = pg_escape_string(utf8_encode($_POST['code'])); $nom = pg_escape_string(utf8_encode($_POST['nom'])); echo $_POST['geom']."1<br />"; echo $_POST['id']."2<br />"; echo $_POST['code']."3<br />"; echo $_POST['nom']."4<br />"; echo $id."5<br />"; echo $code."6<br />"; echo $nom."7<br />"; echo $geom."8<br />"; exit; //Requete d'insertion $query = "INSERT INTO ville (id,code,nom,geom) VALUES($id, $code , $nom , $geom)"; pg_query($pg_connect ,$query); ?>
Dernière modification par michel56 (Fri 01 February 2013 21:46)
Opérateur cartographique & DAO & PHP.
Hors ligne
#25 Sat 02 February 2013 14:21
- abdoudiouck
- Participant occasionnel
- Lieu: RENNES
- Date d'inscription: 19 Aug 2010
- Messages: 17
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
Merci pour cette eclerage michel56 Je viens de tester votre code en fait ca me donne le resultat suivant : 1
Code:
1 2 3 4 5 6 7 ST_Transform(ST_GeomFromText(,900913), 4326)8
et si j énleve echo c est une erreur de syntax je vais essayer de creuser ca
Code:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "," LINE 1: INSERT INTO ville (id,code,nom,geom) VALUES(, , , ST_Trans... ^ in /Applications/XAMPP/xamppfiles/htdocs/webmapping/appli/villephp/requetteprep2.php on line 29
Hors ligne
#26 Sat 02 February 2013 15:28
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: Formulaire PHP : Probleme d'insersion de données dans postgis
il y a surement un problème sur le formulaire qui envoie les données.
Tu les envoies bien en POST et non en GET et mis le même nom à tes champs.
et dans le code
Code:
ST_GeomFromText(".$_POST['geom'].",900913)
il manque le type de géométrie. (à moins que tu l'envoies avec ton formulaire)
Dernière modification par michel56 (Sat 02 February 2013 15:45)
Opérateur cartographique & DAO & PHP.
Hors ligne
Pages: 1
- Sujet précédent - Formulaire PHP : Probleme d'insersion de données dans postgis - Sujet suivant