Se connecter avec
S'enregistrer | Connectez-vous

[PHP & MySQL] Conditions dans une requète SQL

Dernière réponse : dans Programmation

J'ai un petit souci, car je crée un système de profils et lors de la modifiaction d'un profil, je pensais mettre ce bout de code, mais hélas, il ne fonctionne pas comme je l'avais prévu.
Le problème est que je ne pense pas que l'on puisse insérer des conditions dans une requète SQL.

Pourriez-vous jetter un oeil à mon script et me donner une solution ou une alternative à mon problème.

Voici mon code :
  1. $modif_nom = mysql_real_escape_string(htmlentities($_POST['nom'], ENT_QUOTES));
  2. $modif_prenom = mysql_real_escape_string(htmlentities($_POST['prenom'], ENT_QUOTES));
  3. $modif_localisation = mysql_real_escape_string(htmlentities($_POST['localisation'], ENT_QUOTES));
  4. $modif_hobbies = mysql_real_escape_string(htmlentities($_POST['hobbies'], ENT_QUOTES));
  5.  
  6. $sql_update_profil = "UPDATE profils SET ".
  7. if($modif_nom != NULL)
  8. {
  9. echo " nom='".$modif_nom."'";
  10. }
  11. if($modif_prenom != NULL)
  12. {
  13. echo " prenom='".$modif_prenom."'";
  14. }
  15. if($modif_localisation != NULL)
  16. {
  17. echo " localisation='".$modif_localisation."'";
  18. }
  19. if($modif_hobbies != NULL)
  20. {
  21. echo " hobbys='".$modif_hobbies."'";
  22. }
  23. ." WHERE login='".$login."'";
  24. mysql_query($sql_update_profil);


Merci d'avance
Cordialement, NeO666Linux
Lassé par la pub ? Créez un compte

remplaces ton bout de code par :
  1. $sql_update_profil = "UPDATE profils SET ";
  2. if($modif_nom != NULL)
  3. {
  4. $sql_update_profil .= " nom='".$modif_nom."'";
  5. }
  6. if($modif_prenom != NULL)
  7. {
  8. $sql_update_profil .= " prenom='".$modif_prenom."'";
  9. }
  10. if($modif_localisation != NULL)
  11. {
  12. $sql_update_profil .= " localisation='".$modif_localisation."'";
  13. }
  14. if($modif_hobbies != NULL)
  15. {
  16. $sql_update_profil .= " hobbys='".$modif_hobbies."'";
  17. }
  18. $sql_update_profil .= " WHERE login='".$login."'";


"echo" envoie à la sortie standard
Lassé par la pub ? Créez un compte
Tom's guide dans le monde