Page 1 sur 1

probleme avec pg_fetch_array()

Posté : 26 déc. 2005, 15:30
par coulon
bonjour, je debute en php et lorsque j'essaye de verifier ma valeur login dans ma base de donnée pgsql, j'ai l'erreur suivante :

Code : Tout sélectionner

Notice: Undefined variable: loginbdd in c:\program files\easyphp1-8\www\projet\inscriptiontest.php on line 254 Warning: pg_exec(): Query failed: ERROR: invalid input syntax for integer: "" in c:\program files\easyphp1-8\www\projet\inscriptiontest.php on line 263
voici le code :

Code : Tout sélectionner

if(isset($_POST['submit'])) { $valid="yes"; $login="$_POST[pseudo]"; include('connection.php'); $query1 = "SELECT login FROM clients where login='$login'"; $resu=pg_exec($cnx,$query1); $arr = pg_fetch_array($resu,0,PGSQL_ASSOC); $loginbd=$arr["login"]; if($login!="" && $login==$loginbdd) { $error="Le login $login est déjà utilisé !"; $valid="no"; } if($valid="yes") { $query="select ajout_client('$_POST[pseudo]','$_POST[mdp]','$_POST[nom]','$_POST[prenom]','$_POST[adresse]','$_POST[code_postal]','$_POST[ville]','$_POST[tel]','$_POST[fax]')"; $result=pg_exec($cnx,$query); if(!$result) { echo("<FONT SIZE=4><CENTER><FONT COLOR=RED><B>Champs Errones</B></FONT><CENTER></FONT>"); exit(); } else { echo ("<META http-equiv=\"refresh\": content = \"0;url=index.php\">"); } } } ?>

Posté : 26 déc. 2005, 15:31
par Truc
Salut,
tu as 2 noms de vraiable différents
=> $loginbd
=> $loginbdd

marche pas

Posté : 26 déc. 2005, 15:39
par coulon
merci mais lorsque maintenant je met un login identique par rapport à celui de ma db il me met :

Warning: pg_exec(): Query failed: ERROR: duplicate key violates unique constraint "pk_clients" CONTEXT: SQL statement "insert into clients values( $1 , $2 , $3 , $4 , $5 , $6 , $7 , $8 , $9 )" PL/pgSQL function "ajout_client" line 13 at SQL statement in c:\program files\easyphp1-8\www\projet\inscriptiontest.php on line 263

mais ne passe pas par mon code valid=no, il devrait mettre le message suivant Le login $login est déjà utilisé mais il refuse.

Posté : 26 déc. 2005, 16:09
par Truc
il manque un = lors du test if:
if($valid=="yes")