Page 1 sur 1

[résolu] Fonction sprintf

Posté : 16 déc. 2008, 16:40
par stanfield
Bonjour à tous,
Je ne suis pas encore un super programmeur PHP et j'ai un problème sur une interface admin d'un site dont je reprend la programmation.

Alors voila, il s'agit de mettre à jour des "clients" dans une base de données.

A un moment du code, j'utilise :

Code : Tout sélectionner

$updateSQL = sprintf("UPDATE candidats_alerte SET id_candidat=%s, nom_candidat=%s, prenom_candidat=%s, mail_candidat=%s, profession_candidat=%s WHERE id_candidat=%s", GetSQLValueString($_POST['id_candidat'], "int"), GetSQLValueString($_POST['nom_candidat'], "text"), GetSQLValueString($_POST['prenom_candidat'], "text"), GetSQLValueString($_POST['mail_candidat'], "text"), GetSQLValueString($_POST['profession_candidat'], "text") );
Mais lors de l'execution de la page, j'ai le message d'erreur suivant :

Code : Tout sélectionner

Warning: sprintf() [function.sprintf]: Too few arguments in /var/www/virtual/monsite.com/htdocs/admin/modification-candidat-alerte.php on line 87 Query was empty
Ligne 87 étant la ligne contenant ");", la dernière en fait...

Est-ce que mon erreur se situe dans ce bout de code où est-elle ailleurs ?

Merci d'avance.

Posté : 16 déc. 2008, 16:47
par furiouslol
Salut,

Il manque en fait un parametre a ta fonction sprintf, tu as 6 "%s" mais qseulement 5 parametres ensuite

A priori faut rajouter l'id candidat a la fin
$updateSQL = sprintf("UPDATE candidats_alerte 
                  SET id_candidat=%s, nom_candidat=%s, prenom_candidat=%s, mail_candidat=%s, profession_candidat=%s 
                  WHERE id_candidat=%s", 
                  GetSQLValueString($_POST['id_candidat'], "int"), 
                  GetSQLValueString($_POST['nom_candidat'], "text"), 
                  GetSQLValueString($_POST['prenom_candidat'], "text"), 
                  GetSQLValueString($_POST['mail_candidat'], "text"), 
                  GetSQLValueString($_POST['profession_candidat'], "text"),
                  GetSQLValueString($_POST['id_candidat'], "int")
                  ); 

Posté : 16 déc. 2008, 17:03
par stanfield
Merci ça marche... Je croyais qu'après WHERE, c'était plus la peine de renseigner...
Merci encore.