Ce forum est maintenant fermé, seule cette archive statique reste consultable.
  FORUM Rue-Montgallet.com
  Programmation
  Php - Sql

  Problème avec un UPDATE [résolu]

Bas de page
Auteur Sujet :

Problème avec un UPDATE [résolu]

n°18471
khalad
Profil : Jeune recrue
Posté le 30-03-2007 à 13:12:49  
 

bonjour
 
J'ai un formulaire qui rentre un enregistrement dans une table. Tout marche, ca a bien enregistré. Ensuite je ressort ces informations pour les rentrer dans une nouvelle table. Ca, ca fonctionne sauf que dans le transfert, si dans mon texte il y a une apostrophe, tout ce qui suit après l'apostrophe n'est plus pris en compte. Je me retrouve avec des textes tronconnées dans ma Base de données...
 
Je précise également que lors de l'enregistrement de l'infos dans la table "fiche_tempo", tout fonctionne, quand j'affiche tout fonctionne qu'il y ait des apostrophes ou pas, mais c'est le transfert d'une table à l'autre qui pose problème.
 
voici la page qui extrait, update et supprime l'enregistrement dans les deux tables.
 

Code :
  1. <?php
  2. include("infos_connexion.php" );
  3. $valdef="true";
  4. $connexion = mysql_connect($host,$user,$password) or die ("Connection a la base de donn&eacute;e impossible" );
  5. $db=mysql_select_db($database,$connexion) or die ("S&eacute;lection de la base de donn&eacute;e impossible" );
  6. $sql="SELECT * FROM fiche_tempo WHERE id='$_POST[id]'";
  7. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
  8. $ligne = mysql_fetch_array($result,MYSQL_ASSOC);
  9. extract($ligne);
  10. $pseudo=$ligne['pseudo'];
  11. $num=$ligne['num'];
  12. $avatar=$ligne['image'];
  13. $titre_m=$ligne['titre_m'];
  14. $description=$ligne['description'];
  15. $categorie=$ligne['categorie'];
  16. $titre_f=$ligne['titre_f'];
  17. $texte=stripSlashes($ligne['texte']);
  18. $origine=$ligne['origine'];
  19. $constructeur=$ligne['constructeur'];
  20. $taille=$ligne['taille'];
  21. $armement=$ligne['armement'];
  22. $equipage=$ligne['equipage'];
  23. $affiliation=$ligne['affiliation'];
  24. $systeme=$ligne['systeme'];
  25. $region=$ligne['region'];
  26. $type=$ligne['type'];
  27. $climat=$ligne['climat'];
  28. $espece=$ligne['espece'];
  29. $language=$ligne['language'];
  30. include("infos_connexion.php" );
  31. $valdef="true";
  32. $connexion = mysql_connect($host,$user,$password) or die ("Connection a la base de donn&eacute;e impossible" );
  33. $db=mysql_select_db($database,$connexion) or die ("S&eacute;lection de la base de donn&eacute;e impossible" );
  34. $sql="UPDATE fiche SET image='$avatar', titre_m='$titre_m', valdef='$valdef', description='$description', categorie='$categorie', titre_f='$titre_f', texte='$texte', origine='$origine', constructeur='$constructeur', taille='$taille', armement='$armement', equipage='$equipage', affiliation='$affiliation', systeme='$systeme', region='$region', type='$type', climat='$climat', espece='$espece', language='$language' WHERE id='$num'";
  35. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
  36. $sql="DELETE FROM fiche_tempo WHERE id='$_POST[id]'";
  37. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
  38. include("fiche_staff_formulaire_modif_ok_texte.php" );
  39. ?>


 
Voila, dans ce transfert la, la variable "texte" est bien updatée... mais s'il y a une apostrophe le texte est coupé, le reste n'est pas enregistré. Mais si je met un texte sans apostrophe ca marche. Alors j'ai essayé en mettant un stripSlashes() mais ca ne fait rien.  
 
Je précise que magic_quotes_runtimes est OFF, donc techniquement je devrais pas avoir besoin de stripSlashes().
 
Voila, j'espère que vous pourrez m'aider, bonne journée !


Message édité par khalad le 31-03-2007 à 00:56:15
mood
Pub
Posté le 30-03-2007 à 13:12:49  
 

n°18472
pote
Profil : Membre
Posté le 30-03-2007 à 14:43:36  
 

Je ne garanti rien, mais tu peux essayer d'inverser les simples quote et les double quote :  
$sql='UPDATE fiche SET image="$avatar", titre_m="$titre_m", valdef="$valdef", description="$description", categorie="$categorie", titre_f="$titre_f", texte="$texte", origine="$origine", constructeur="$constructeur", taille="$taille", armement="$armement", equipage="$equipage", affiliation="$affiliation", systeme="$systeme", region="$region", type="$type", climat="$climat", espece="$espece", language="$language" WHERE id="$num"';
 
Sinon si ca ne marche pas, tu peux essayer de remplacer dans $texte le caractère apostrophe par sa valeur en ascii


Message édité par pote le 30-03-2007 à 14:44:04
n°18475
khalad
Profil : Jeune recrue
Posté le 30-03-2007 à 17:56:05  
 

Non, le remplacement ne marche pas :-S.
 
Quand aux valeurs ASCII, j'avoue ma total ignorance la dessus, pourriez vous m'expliquer s'il vous plait ?
 
Merci d'avance !

n°18479
khalad
Profil : Jeune recrue
Posté le 31-03-2007 à 00:56:40  
 

je ne sais pas de quel manière lol, mais j'ai résolu mon soucis, il fonctionne actuellement. Bonne soirée à tous et merci encore.

  FORUM Rue-Montgallet.com
  Programmation
  Php - Sql

  Problème avec un UPDATE [résolu]

© 2000-2024 Forum.rue-montgallet.com - Tous droits réservés