Problème de mise à jour de la BDD (UPDATE)

Fermé
X_TrOjKa_X Messages postés 6 Date d'inscription mardi 26 juin 2012 Statut Membre Dernière intervention 27 juin 2012 - 26 juin 2012 à 17:03
X_TrOjKa_X Messages postés 6 Date d'inscription mardi 26 juin 2012 Statut Membre Dernière intervention 27 juin 2012 - 27 juin 2012 à 13:28
Bonjour tout le monde !

Je suis un jeune programmeur de site web (17 ans ^^) encore en formation dans une école professionnelle... Bref

Je suis entrain de réaliser le site web de mon club de foot et j'en suis à la partie "Administration" et ça fait 3h que j'essaie de mettre à jour un article...

En gros je peux un ajouter un, supprimer un mais il y a une erreur pour la modification

Un grand merci si vous pouvez m'aider :D

Voilà mon code qui foire ;) https://hastebin.com/gaxayahufo.xml
A voir également:

4 réponses

vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
Modifié par vordano le 26/06/2012 à 17:17
salut,

quel est le message d'erreur ?

et pourquoi la variable $go est utilisé dans un test alors que sa valeur ne dépend apparament pas des autres du dessus ?
as tu vérifié la valeur de la variable $news_id grâce à un echo ?
0
X_TrOjKa_X Messages postés 6 Date d'inscription mardi 26 juin 2012 Statut Membre Dernière intervention 27 juin 2012
26 juin 2012 à 17:29
Ah oui j'ai oublier de le dire...
Alors oui l'identifiant est bien reçu j'ai tester avec un echo, mais une fois que j'envoie le formulaire, il m'affiche "l'identifiant n'a pas été reçu" (ligne 67)
Et si j'enlève cette partie de code, sa affiche "aucune adresse mail n'a été mise à jour" apres l'envoi du formulaire (Oui j'ai oublier de modifier adresse mail et news)

Pour la variable $go, elle sert à afficher le formulaire si elle est null, donc si le formulaire n'a pas été envoyé le if est faux...
0
L'une des valeurs saisies contiendrait-elle une apostrophe ?

Si oui, merci de lire => http://php.net/mysql_real_escape_string
0
X_TrOjKa_X Messages postés 6 Date d'inscription mardi 26 juin 2012 Statut Membre Dernière intervention 27 juin 2012
26 juin 2012 à 19:07
Oui très certainement vu que c'est des textes assez long...

Je ne suis pas très alaise en anglais et je ne suis pas une bête en php alors les subtilité je connais pas trop :(

Mais en résumer quelle serait l'erreur ?
0
INSERT INTO ma_table VALUES( 'ceci est un texte sans apostrophe', 'l'apostrophe peut causer des erreurs si on ne fait pas attention' ); => KO

Une apostrophe est aussi le caractère qui délimite une chaîne. Le SQL devient donc invalide.

INSERT INTO ma_table VALUES( 'ceci est un texte sans apostrophe', 'l\'apostrophe peut causer des erreurs si on ne fait pas attention' ); => OK, car \'
0
X_TrOjKa_X Messages postés 6 Date d'inscription mardi 26 juin 2012 Statut Membre Dernière intervention 27 juin 2012
27 juin 2012 à 07:35
Ah oui ok, mais je ne vais pas demander à l'utilisateur d'écrire avec des \ devant les apostrophe... Comment faire alors ?

(je vien de tester:) Oui super sa fonctionne si je met juste un mot !! MERCI :D maintenant reste plus qu'à trouvé une solution pour que l'utilisateur puisse mettre un texte relativement long :)
0
vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
27 juin 2012 à 11:02
je crois que la méthode a utiliser pour encoder les ' c'est rawurlencode pour le php et encodeURIComponent pour le javascript
0
X_TrOjKa_X Messages postés 6 Date d'inscription mardi 26 juin 2012 Statut Membre Dernière intervention 27 juin 2012
27 juin 2012 à 12:28
Je vais voir ça alors, mais je sais d'ou vient l'erreur c'est deja sa ! Merci :)
0
$texte = mysql_real_escape_string( $texte );
$titre = mysql_real_escape_string( $titre );
[...]
$sql = "UPDATE 'fc-bavois'.'news' SET 'titre' = '$titre', 'contenu' = '$texte', 'by' = '$auteur', 'date' = '$date', 'image' = '$image' WHERE id = $news_id";
0