problème d'update avec MySql 5.0

WRInaute discret
Bonsoir à tous,

J'ai un gros soucis, je viens de prendre un NDD chez 1and1 et ils me proposent une BDD avec Mysql 5.0
Le soucis c'est que mes requêtes habituelles n'ont aucun effet sur mes valeurs en base.

Exemple pour l'update:

Code:
$reponse = mysql_query("UPDATE test SET desc='$desc', ingredient='$ingredient', ingredient2='$ingredient2', ingredient3='$ingredient3', ingredient4='$ingredient4', ingredient5='$ingredient5', ingredient6='$ingredient6', ingredient7='$ingredient7', ingredient8='$ingredient8', ingredient9='$ingredient9', ingredient10='$ingredient10', placard='$placard', placard2='$placard2', placard3='$placard3', placard4='$placard4', placard5='$placard5', placard6='$placard6', nom='$nom', poids='$poids', cat='$cat', four='$four', microondes='$microondes', plaques='$plaques', note='$note', enligne='$enligne', adsense='$adsense', mail='$mail' WHERE url='$url'");

mon code est il mauvais ou alors mysql 5 à de nouvelles spécificités que je ne connais pas par rapport au 4 ?

Merci :cry:
 
WRInaute accro
Affiche ta requête et test la dans une console sql, tu auras vite la solution.
Tu peux aussi afficher un or die(mysql_error());
 
WRInaute discret
humm... et oui malheureusement je suis venu poster sur le forum car mon "or Die" ne donne rien :cry:
aucun message d'erreur rien.

Cependant j'ai avancé dans mes recherches il n'y a que certaines entrées qui ne sont pas prises en compte.
j'explique.

voici ma requête complète:

Code:
$mysql_link=mysql_connect("xxxxx", "xxxxx", "xxxxx");
mysql_select_db("xxxxxx", $mysql_link);

$reponse = mysql_query("UPDATE test SET desc='$desc',ingredient='$ingredient', ingredient2='$ingredient2', ingredient3='$ingredient3', ingredient4='$ingredient4', ingredient5='$ingredient5', ingredient6='$ingredient6', ingredient7='$ingredient7', ingredient8='$ingredient8', ingredient9='$ingredient9', ingredient10='$ingredient10', placard='$placard', placard2='$placard2', placard3='$placard3', placard4='$placard4', placard5='$placard5', placard6='$placard6', nom='$nom', poids='$poids', cat='$cat', four='$four', microondes='$microondes', plaques='$plaques', note='$note', enligne='$enligne', adsense='$adsense', mail='$mail' WHERE url='$url'");

Lorsque je fait cette requête rien ne change jamais. ce qui bloquent ce sont les variables placard (de 1 à 6) et la variable desc. si je les enlève de la requête, l'update se fait sans problème. dès que je rajoute l'un d'eux même vide ou avec une valeur fixe, je ne peux plus faire un seul changement.

c'est un base que j'ai importé, j'ai donc supprimé les entrées qui posent problème et je les ai recréées à l'identique. toujours le même problème.

autre chose étrange. dans la base les ingrédients et les placard son identiques (pas leurs valeurs mais ce sont des text etc..) et dans le formulaire qui me permet va appeler l'update ce sont des champs identiques.

j'espère qu'une âme charitable m'aidera
:roll:

Merci
 
WRInaute discret
enfin si j'ai quand même une réponse apres mon or die mais elle ne veut pas dire grand chose étant donné
que la syntax de placard est la même que cette des autres champs


Code:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''test' WHERE url='flan-courgettes'' at line 1

je sombre.. :?
 
WRInaute passionné
Et si on voyait ta requête.

si tu fais un

Code:
echo "UPDATE test SET desc='$desc',ingredient='$ingredient', ingredient2='$ingredient2', ingredient3='$ingredient3', ingredient4='$ingredient4', ingredient5='$ingredient5', ingredient6='$ingredient6', ingredient7='$ingredient7', ingredient8='$ingredient8', ingredient9='$ingredient9', ingredient10='$ingredient10', placard='$placard', placard2='$placard2', placard3='$placard3', placard4='$placard4', placard5='$placard5', placard6='$placard6', nom='$nom', poids='$poids', cat='$cat', four='$four', microondes='$microondes', plaques='$plaques', note='$note', enligne='$enligne', adsense='$adsense', mail='$mail' WHERE url='$url'" ;

ça te donne quoi pour voir ?
 
WRInaute discret
Bonsoir druart et surtout merci de m'aider :)

oui lorsque je fait un echo de tout mes paramètres sur ma page tt les éléments apparaissent bien (j'ai testé avec GET et POST les deux affichent tt mes résultats)
 
WRInaute discret
ah nouvel élément maintenant que j'ai recréé mes entrées placard (de 1 à 6 ) et apres 30 minutes plus de soucis elle se rentrent bien en base.
y a t'il du cache sur les BDD ? ça m'étonnerai mais si la réponse est positive ça pourrait expliquer que maintenant les placards fonctionnent
 
WRInaute passionné
ben64btz a dit:
Bonsoir druart et surtout merci de m'aider :)

oui lorsque je fait un echo de tout mes paramètres sur ma page tt les éléments apparaissent bien (j'ai testé avec GET et POST les deux affichent tt mes résultats)

Je ne doute pas que les éléments soient là.
Je voulais dire qu'en voyant la requête renseignée avec les données ça pourrait permettre de situer le problème.

Et il n'y a pas de cache sur en BD (à ma connaissance) :)
 
WRInaute passionné
url='flan-courgettes''

oh le vilain quote en trop...

Et si tu utilisais mysql_real_escape_string() pour éviter ce genre de grosse boulette ?
 
WRInaute discret
Voici ce qui ressort

Code:
desc='flan courgette',ingredient='courgettes', ingredient2='oeufs', ingredient3='creme-fraichee', ingredient4='', ingredient5='', ingredient6='', ingredient7='', ingredient8='', ingredient9='', ingredient10='', placard='test', placard2='teste', placard3='ezez', placard4='zer', placard5='ezrez', placard6='reze', nom='flan aux courgettes', poids='1', cat='3', four='1', microondes='', plaques='', note='4', enligne='1', adsense='XXXXXXXXXXXXXX', mail='ben_64_btz@hotmail.com'
 
WRInaute discret
oui Bool je vois vois ça également mais la requête ne contient pas de " en trop.
si tu regarde bien il entoure les éléments de ma requête par deux ' (un au début l'autre à la fin)
 
WRInaute discret
hé hé si si mais elle me gonfle un peu cette erreur, moins je l'écris mieux je me porte :lol:

Science fiction:
Je viens de créer une nouvelle entrée qui s'appelle descript. et j'ai remplacé desc par descript
hé ben ça marche....
je crois que je vais laisser tomber desc et le changer en descript partout, me faire une tisane, me mettre 1 supo ou 2 et aller me coucher là je comprends plus rien :lol:

En tout cas merci beaucoup de votre aide les gars !! :)
 
Discussions similaires
Haut