Fatal error suite à une requète UPDATE

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Fatal error suite à une requète UPDATE

Re: Fatal error suite à une requète UPDATE

par Hirokumi » 23 août 2010, 22:28

J'ai pris pas mal de notes de tout ce que vous avez put me dire.
Je vais refaire tout intégralement en suivant certains tutos de Phpfrance qui d'ailleurs sont très clairs :)
Je remercie toutes les personnes qui se sont penchés sur mon problème, ce que vous m'avez dit n'aura pas été inutile je vous l'assure :P
Je viendrais quand j'aurais un problème persistant ou une question sans réponse que j'aurais recherchée avant bien entendu, et aider quand j'aurais plus d'expérience :)
Encore merci à tous ! ;)

Re: Fatal error suite à une requète UPDATE

par AB » 23 août 2010, 21:53

Oui je t'ai fait faire cette requête pour que tu comprenne que le problème se situe au niveau de la récupération de tes variables $_POST.

Cela dit, prend l'habitude d'utiliser la syntaxe que je t'ai donnée avec la fonction mysql_real_escape_string

Pour la connexion et l'inscription dans un espace membre y'a un tuto ici faq-tutoriels/inscription-connexion-dan ... 42539.html A noter que dans le script j'utilise une fonction Verif_magicquotes qui peut être utile pour compatibilité avec des serveur ayant une config non conforme (get_magic_quotes_gpc sur on) avec les nouvelles normes (get_magic_quotes_gpc sur off)

Re: Fatal error suite à une requète UPDATE

par Hirokumi » 23 août 2010, 21:43

Merci de vos réponses,

AB, Je viens d'essayer ton code, il marche correctement, ce que je cherche à faire, c'est de pouvoir modifier la valeur de $avatar_peau_edit par la valeur récupéré du formulaire ($_POST['avatar_peau_maj']) Et c'est ici que ça coince car la valeur à modifier ne veut pas entrer dans la base de donnée sauf si l'ont met une donnée fixe.


Cette requête fonctionne :
UPDATE characters SET avatar_peau ='Marron.png' WHERE id=$id
Cette requête ne rempli pas la base de donnée mais ne montre aucune erreur :
UPDATE characters SET avatar_peau ='$avatar_peau_edit' WHERE id=$id
Après j'ai une table membres, et une table characters qui ont une chose en commun pour les relier, c'est leur ID. Par exemple le compte avec ID=1 (Le miens) a un personnage qui porte l'ID=1, c'est possible que j'ai pu avoir une confusion entre les deux lors de la selection de id=$id, dans ce cas, il faut que je refasse une grande partie de mon script d'enregistrement et de connexion...

Re: Fatal error suite à une requète UPDATE

par AB » 23 août 2010, 21:10

Perso j'ai pris l'habitude de concaténer mes variables. Et si tu fais :
error_reporting(-1);

include("../fonctions/config.php");
db_connect();
$avatar_peau_edit = 'toto.png';
$id = 1;

$maj_peau = "UPDATE characters SET avatar_peau = '".mysql_real_escape_string($avatar_peau_edit)."' WHERE id = '".$id."'";

$resultat = mysql_query($maj_peau) or exit(mysql_error());
echo'<br/>'.$resultat;
ça te fais la mise à jour ou pas ?

Re: Fatal error suite à une requète UPDATE

par stealth35 » 23 août 2010, 20:54

Je cherche, je cherche... mais je ne trouve pas.. pour intégrer une variable dans une requête SQL, faut-il faire quelque chose de spécial ? :?
normalement non si il te met ca : UPDATE characters SET avatar_peau = 'Marron.png' WHERE id=1
c'est que c'est bon, essaye en protégeant les champs limite
UPDATE `characters` SET `avatar_peau` = 'Marron.png' WHERE `id`=1 

Re: Fatal error suite à une requète UPDATE

par Hirokumi » 23 août 2010, 20:49

Je cherche, je cherche... mais je ne trouve pas.. pour intégrer une variable dans une requête SQL, faut-il faire quelque chose de spécial ? :?

Re: Fatal error suite à une requète UPDATE

par Hirokumi » 23 août 2010, 17:57

si tu fais juste ca ca marche ?
db_connect();
$result = mysql_query("UPDATE characters SET avatar_peau = 'Marron.png' WHERE id=1") or exit(mysql_error());
t'es sur d'être dans la même base ? (mélange entre ton local et free...)
Oui, je suis sûr de ne pas mélanger les deux bases :roll:
J'ai remplacé par ce que tu m'as demandé et ça fonctionne bien, la base de données à pris la valeur Marron.png donc le soucis doit venir de la mise en forme de la variable dans ma requête... car avec un echo "$avatar_peau_edit"; Elle affiche la bonne valeur, c'est au moment de l'envoie qu'elle se perd (Si je puis dire) :?
"UPDATE characters SET avatar_peau = '$avatar_peau_edit' WHERE id=$id"[/b]

Re: Fatal error suite à une requète UPDATE

par stealth35 » 23 août 2010, 17:48

si tu fais juste ca ca marche ?
db_connect();
$result = mysql_query("UPDATE characters SET avatar_peau = 'Marron.png' WHERE id=1") or exit(mysql_error());
t'es sur d'être dans la même base ? (mélange entre ton local et free...)

Re: Fatal error suite à une requète UPDATE

par Hirokumi » 23 août 2010, 17:40

spé, ta quelle version de php et de mysql ?
tu peux m'envoie ta table pour voir
-- Version du serveur: 5.0.83
-- Version de PHP: 5.2.9

Voici la structure de la table "characters" :
CREATE TABLE IF NOT EXISTS `characters` (
  `id` int(20) NOT NULL auto_increment,
  `pseudo` text collate latin1_general_ci NOT NULL,
  `sexe` varchar(10) collate latin1_general_ci NOT NULL,
  `level` int(3) NOT NULL,
  `position_x` int(5) NOT NULL,
  `position_y` int(5) NOT NULL,
  `avatar_peau` text collate latin1_general_ci NOT NULL,
  `avatar_cheveux` text collate latin1_general_ci NOT NULL,
  `avatar_color_cheveux` text collate latin1_general_ci NOT NULL,
  `avatar_yeux` text collate latin1_general_ci NOT NULL,
  `avatar_bouche` text collate latin1_general_ci NOT NULL,
  `avatar_capacité` text collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=89 ;

Re: Fatal error suite à une requète UPDATE

par stealth35 » 23 août 2010, 17:37

Oui, c'est la première chose que j'ai testé :(
spé, ta quelle version de php et de mysql ?
tu peux m'envoie ta table pour voir

Re: Fatal error suite à une requète UPDATE

par Hirokumi » 23 août 2010, 17:34

Oui, c'est la première chose que j'ai testé :(

Re: Fatal error suite à une requète UPDATE

par stealth35 » 23 août 2010, 17:32

ah oki,
de quel type est ton champs avatar_peau ?
---> Son type est TEXT

  `avatar_peau` text collate latin1_general_ci NOT NULL

et si dans phpmyadmin tu fais la requête
UPDATE characters SET avatar_peau = 'Marron.png' WHERE id=1
ca marche ?

Re: Fatal error suite à une requète UPDATE

par Hirokumi » 23 août 2010, 17:28

ah oki,
de quel type est ton champs avatar_peau ?
---> Son type est TEXT

  `avatar_peau` text collate latin1_general_ci NOT NULL

Re: Fatal error suite à une requète UPDATE

par stealth35 » 23 août 2010, 17:25

La variable avatar_peau de ma base de données reste vide... =(
ah oki,
de quel type est ton champs avatar_peau ?

Re: Fatal error suite à une requète UPDATE

par Hirokumi » 23 août 2010, 17:23

La variable avatar_peau de ma base de données reste vide... =(

Image