Re: postgresql php et Insert

From: "Daniel Verite" <daniel(at)manitou-mail(dot)org>
To: "BPascal" <pascal62fr(at)free(dot)fr>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: postgresql php et Insert
Date: 2008-08-27 10:14:39
Message-ID: 18ae93ab-b3ef-42c2-bce6-1cca08c5bd82@mm
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

BPascal wrote:

> Voici 3 requètes de test, la première un Select marche et les 2
Insert
> non, "pg_query Insert TTest: Serveur saturé, essayer plus tard.".

Il y a plusieurs soucis dans ton code.

Dans le select tu demandes "Champ1" et "Champ2" avec des guillemets, ce
qui signifie que ces champs ont un C majuscule.
Mais dans l'INSERT, c'est Champ1 et Champ2 sans les guillemets, donc
plus de majuscule explicite, ce n'est pas consistant avec le SELECT.

Une deuxième raison est que $valeur1 et $valeur2 doivent être exprimées
comme des chaines de caractères SQL et ne peuvent pas être passées
directement.
Il faut mettre la valeur entre apostrophes et tant qu'à faire appeler
pg_escape_string sur le contenu.
Du genre:
$v1 = "'" . pg_escape_string($valeur1) . "'";
et utiliser $v1 dans la chaine d'INSERT à la place de $valeur1

Egalement par défaut les messages d'erreur de pg_query arrivent
directement sur la page web me semble-t-il. Il est préférable de
travailler dans cette config, en tout cas quand on développe, parce
qu'avec le message "Serveur saturé" tu es en mode aveugle sur les
erreurs.

Enfin il n'est pas nécessaire de se reconnecter à la base à chaque
pg_query, c'est même très pénalisant.
Une fois que le pg_connect() a réussi, la connexion obtenue est valide
pour le reste du script.

--
Daniel
PostgreSQL-powered mail user agent and storage:
http://www.manitou-mail.org

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message BPascal 2008-08-27 12:15:48 Re: postgresql php et Insert
Previous Message Guillaume Lelarge 2008-08-27 10:04:23 Re: postgresql php et Insert