Problème avec requête postgresql/postgis
Posté : 13 févr. 2012, 16:23
Bonjour,
j'ai un problème lorsque j'essaye d'utiliser la méthode php_prepare().
Je vais devoir faire un grand nombre d'insertions dans ma table (quelques milliers). Pour cela je construit un tableau que je parcours ensuite pour faire les différentes insertions dans ma table à l'aide de la commande pg_prepare(). Sauf que lors de l’exécution du script j'ai des erreurs et aucun enregistrement n'est fait dans la table. Quelqu'un pourrait m'aider s'il vous plait?
Voici le warning:
j'ai un problème lorsque j'essaye d'utiliser la méthode php_prepare().
Je vais devoir faire un grand nombre d'insertions dans ma table (quelques milliers). Pour cela je construit un tableau que je parcours ensuite pour faire les différentes insertions dans ma table à l'aide de la commande pg_prepare(). Sauf que lors de l’exécution du script j'ai des erreurs et aucun enregistrement n'est fait dans la table. Quelqu'un pourrait m'aider s'il vous plait?
Voici le warning:
Voici un bout de code de la construction de mon tableau:( ! ) Warning: pg_execute() [function.pg-execute]: Query failed: ERREUR: parse error - invalid geometry HINT: You must specify a valid OGC WKT geometry type such as POINT, LINESTRING or POLYGON in C:\wamp\www\tests\test.php on line 162
for($i = 1; $i <= nbelemts; $i++) {
...
$geom = 'ST_GeometryFromText(\'POLYGON(('.$xmin.' '.$ymin.','.$xmax.' '.$ymin.','.$xmax.' '.$ymax.','.$xmin.' '.$ymax.','.$xmin.' '.$ymin.'))\',2154)';
$geomp = pg_escape_string($geom);
$tile = array(
'id' => $id,
'geom' => $geomp
);
$data[$i] = $tile;
}
}
Et les requêtes d'insertion:$requete = "insert into table(id_table, the_geom)
values ($1,$2)";
// prepare query
$stmt = pg_prepare($dbh, "ps", $requete);
// execute query
foreach ($data as $key => $value) {
$result = pg_execute($dbh, "ps", array($value["id"], $value["geom"]));
if (!$result) {
die("error in sql query (tile '$key'): " . pg_last_error());
}
else {
echo "Opération réussie</p>";
}