probleme avec pg_fetch_array()

coulon
Invité n'ayant pas de compte PHPfrance

26 déc. 2005, 15:30

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\">"); } } } ?>

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 déc. 2005, 15:31

Salut,
tu as 2 noms de vraiable différents
=> $loginbd
=> $loginbdd

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

coulon
Invité n'ayant pas de compte PHPfrance

26 déc. 2005, 15:39

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.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 déc. 2005, 16:09

il manque un = lors du test if:
if($valid=="yes") 

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute