Wednesday, August 27, 2008

Re: [pgsql-fr-generale] postgresql php et Insert

Bonjour,

Ouf ça marche.

François Figarola a écrit :
> BPascal a écrit :
>> Guillaume Lelarge a écrit :
>>> BPascal a écrit :
>>>
>>>> [...]
>>>> Je dois réaliser des insert dans une base de donnée postgresql à
>>>> partir
>>>> d'une application web développé en php.
>>>> Pour faire des Select j'ai utilisé pg_connect, pg_query,
>>>> pg_fetch_array
>>>> et cela marche bien.
>>>
>>> Pourquoi ne pas continuer avec pg_query ?
>>
>> $query_insert = "INSERT INTO \"TTest\" ( \"Champ1\", \"Champ2\" )
>> VALUES ( $valeur1, $valeur2)";
> Bonjour,
>
> Si champ1 et champ2 sont de type varchar, je pense qu'il faudrait les
> encadrer avec des apostrophes,
> genre (en ayant bien pris soin d'échapper celles contenues dans ces
> chaines par un appel à
> pg_escape_string() ) :
>
> $query_insert = "INSERT INTO \"TTest\" ( \"Champ1\", \"Champ2\" )
> VALUES ( '$valeur1', '$valeur2')";
>
Oui, c'est la bonne syntaxe, merci.
J'utilise pg_escape_string pour traiter les données issues de formulaire.


> De plus, il serait intéressant d'obtenir un retour d'erreur moins
> générique du genre :
>
> ...
> if ($result_insert === false) {
> $msg = pg_last_error();
> echo "Erreur lors de l'insertion : <i>$msg</i><br/>";
> }
> ...
>
> ou mieux en utilisant pg_send_query() couplé à |pg_result_error()
> (cf. http://fr.php.net/manual/fr/function.pg-result-error.php)|
>
> Cordialement.
>
> François Figarola.
>
Les solutions que tu proposes pour le traitement des erreurs semblent
intéressante.

Merci

Cordialement
--
Pascal


--
Sent via pgsql-fr-generale mailing list (pgsql-fr-generale@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-fr-generale

No comments: