Bonjour,
J'ai créé une page PHP contenant un formulaire qui renvoie vers la même page après validation.
J'ai ce bout de code qui s'exécute lors du deuxième chargement de la page (après validation formulaire).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
if(!empty($_POST)){
 
		$sql = "INSERT INTO 'affaire'('nom_aff', 'lien_rapport') VALUES('".$_POST['nom']."','".$_POST['rapport']."')";
		$rep = pg_query($conn, $sql);   
 
		if(!$rep) {
			echo "Il y a eu des problèmes lors de l'insertion dans la base de données";
			exit;
		}
Ce code est sensé insérer dans la table 'affaire' les données récupérées du formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
affaire(nom_aff text, lien_rapp text, num_aff serial)
La table existe dans une base de données Postgresql 8.4 / Postgis 1.5.
Dans le formulaire il y a deux balises input avec attribut name="nom" et name="rapport" respectivement.
Lorsque ce code est exécuté j'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Warning: pg_query() [function.pg-query]: Query failed: ERREUR: erreur de syntaxe sur ou près de « 'affaire' » LINE 1: INSERT INTO 'affaire'('nom_aff', 'lien_rapport') VALUES('aze... ^ in D:\wamp\www\gis-c2s\ajout_affaire.php on line 15
J'ai fait des tests en éliminant $_POST[...] de la requête. Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$sql = "INSERT INTO 'affaire'('nom_aff', 'lien_rapport') VALUES('affaire','liens/rapport')";
Et je n'ai eu aucune erreur. Les données sont bien enregistrées dans la BD.

J'ai testé aussi les variable $_POST[...] avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
echo $_POST['nom'];
 echo $_POST['rapport'];
Je n'ai eu aucun problème. L'information que j'ai saisie dans le formulaire est bien affichée.

Je ne sais pas d'où vient cette erreur.

Pourriez-vous me guider ?

Cordialement.