Requette sql en php ca veux pas alors que ca devrait..

Requette sql en php ca veux pas alors que ca devrait.. - PHP - Programmation

Marsh Posté le 05-08-2008 à 13:53:51    

Voici ma requette, je l'ai lu, relu et relu...
 
$sql= "UPDATE annonces SET titre = '".$titre."', stitre = '".$stitre."', description = '".$description."', prix = '".$prix."', virement = '".$virement."', cheque = ".$cheque."', espece = '".$espece."', mail = '".$mail."', tel = '".$tel."' WHERE ID='".$id."'";
$requete = mysql_query($sql) or die(mysql_error()) ;
 
if($requete){
 
 echo "<p class=\"centrer\">Votre annonce à bien été Modifié.</p><a href=\"javascript:history.back()\">Retour</a>";
}
else{
 echo "<p class=\"centrerred\">Erreur<br><a href=\"javascript:history.back()\">Retour</a></p>";
}
 
Cela m'affiche "Votre annonce à bien été Modifié." et pourtant rien n'est modifié dans la base, je n'y comprends rien.
Aidez me... please..

Reply

Marsh Posté le 05-08-2008 à 13:53:51   

Reply

Marsh Posté le 05-08-2008 à 14:00:38    

Le contenu de tes variables est bien affecté ?
($titre, $stitre, etc...) vérifie ça en premier.
(fait un "echo $sql" avant la ligne mysql_query)
 
Si les valeurs sont bien présentes, balance la requête dans phpmyadmin et regarde ce que ça fait.
 
Sinon je vois que tu utilises mysql_query sans le 2nd argument, essaie éventuellement de le forcer pour voir

Reply

Marsh Posté le 05-08-2008 à 14:09:10    

salut punk,
 
Bon j'ai bien verifié toutes les variables, aucune n'est vide.
 
UPDATE annonces SET titre = '$titre', stitre = '$stitre', description = '$description', prix = '$prix', virement = '$virement', cheque = '$cheque', espece = '$espece', mail = '$mail', tel = '$tel' WHERE ID='1'
 
Cela fonctionne bien dans mysql...
 
Comment "forcer" le query ?

Reply

Marsh Posté le 05-08-2008 à 14:14:20    

Tu passe en deuxième paramètre de mysql_query la variable dans laquelle tu as placé le résultat de ta connexion.
http://fr3.php.net/manual/fr/function.mysql-query.php

Reply

Marsh Posté le 05-08-2008 à 14:16:25    

argg je ne comprends pas, je suis désolé, je ne suis pas un pro de chez pro...

Reply

Marsh Posté le 05-08-2008 à 14:22:09    

tu fais ta connexion

Code :
  1. $link = mysql_connect(nom_du_serveur, login, password)
  2.     or die("Impossible de se connecter : " . mysql_error());


 
et après tu fais ta requête en passant en deuxième paramètre le lien

Code :
  1. if ($link) {
  2. mysql_query  ($query , $link) // avec $query la requête et $link le résultat de la connexion
  3. }

Reply

Marsh Posté le 05-08-2008 à 15:08:36    

Je ne peux pas faire ainsi, j'utilise un fichier de connexion .inc
Qu'est-ce que cette requête changerais ?

Reply

Marsh Posté le 05-08-2008 à 15:15:05    

ca te permet d'être sur que la requête est faite sur le bon lien de connexion. mais si tu as une classe de connexion tu ne devrais pas avoir besoin de passer le lien.
ce que tu peux éventuellement essayer c'est d'enlever le die.

Code :
  1. $requete = mysql_query($sql) or die(mysql_error()) ;

deviendrai

Code :
  1. $requete = mysql_query($sql);


et le reste de ton code reste inchangé


Message édité par _v1ru5_ le 05-08-2008 à 15:15:35
Reply

Marsh Posté le 05-08-2008 à 15:42:28    

J'ai déjà essayé, en faite, tout cela fonctionne très bien avec un insert into en requête et malheureusement le update pose problème

Reply

Marsh Posté le 05-08-2008 à 15:48:19    

Voila j'ai trouvé la solution, j'ai pris ma page d'insert, j'ai juste modifié la requete... Merci de m'avoir apporté votre aide

Reply

Marsh Posté le 05-08-2008 à 15:48:19   

Reply

Marsh Posté le 05-08-2008 à 16:09:38    

j"ai suivi ce post, j'aimerai bien savoir de quoi venez le problème?

Reply

Marsh Posté le 05-08-2008 à 16:13:54    

vu qu'il a changé le code venant d'une autre page, je pense que c'est sa ressource de connexion qu'il a oublié de redéclarer.
Surement un truc du gerne.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed