problème requête update

problème requête update - SQL/NoSQL - Programmation

Marsh Posté le 16-09-2008 à 14:51:20    

Bonjour à tous,  
 
 
J'ai quelques soucis avec une requete update.  
 
J'ai une table db_images avec les champs id, club, joueur.
 
J'ai une page modif_form.php ou je récupère les valeurs dans un formulaire pour les éditer. Le formulaire renvoie vers update.php ou je place ma requête :  
 

Code :
  1. $query = ("UPDATE db_images SET  club = '". $_POST['club'] ."', joueur = '". $_POST['joueur'] ."' WHERE id = ". $_POST['id'] ."" ) or die ("Requête invalide" );
  2. $result = mysql_query ($query);


 
 
Requête qui fonctionne sur un autre table mais pas celle là  :pt1cable:  alors que les champs sont de même type.
 
 
Quelqu'un pourrait il m'éclairer, je suis débutant et je me prends la tête depuis un long moment déjà


Message édité par J_D_ le 16-09-2008 à 14:59:36
Reply

Marsh Posté le 16-09-2008 à 14:51:20   

Reply

Marsh Posté le 16-09-2008 à 14:57:47    

et tu as fait afficher mysql_error() pour voir ou etais le problème  
 
au passage, je te conseil tres fortement d'utiliser des requetes préparées , ou mysql_real_escape_string pour tes champt $_POST['pwet']

Reply

Marsh Posté le 16-09-2008 à 15:13:36    

' $variable = "dutexte" or die() ' :??: [:gratgrat]
 
Depuis quand le remplissage d'une variable peut retourner "False" (générer une erreur au moment de l'affectation de la valeur) ?

Reply

Marsh Posté le 16-09-2008 à 15:13:48    

flo850 a écrit :

et tu as fait afficher mysql_error() pour voir ou etais le problème  
 
au passage, je te conseil tres fortement d'utiliser des requetes préparées , ou mysql_real_escape_string pour tes champt $_POST['pwet']


 
 
non je n'ai pas utilisé la fonction mysql_error ()  
 
Ce que je ne comprends pas, c'est que cela fonctionne bien sur un autre table.
C'est pas une requête hyper compliquée et pourtant elle me donne envie de retourner le bureau

Reply

Marsh Posté le 16-09-2008 à 15:16:32    

alors est ce que tu peux, s'il te plait, utiliser cette p**** de fonction mysql_error() pour avoir un message d'erreur a nous donner ?

 


Message édité par flo850 le 16-09-2008 à 15:16:40
Reply

Marsh Posté le 16-09-2008 à 15:37:52    

Je sais pas si je l'utilise bien cette fonction
 
mais j'ai ceci:  
 
1064: 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 '' at line 1

Reply

Marsh Posté le 16-09-2008 à 15:53:23    

Code :
  1. $query = ("UPDATE db_images SET  club = '". $_POST['club'] ."', joueur = '". $_POST['joueur'] ."' WHERE id = ". $_POST['id'] ."" );
  2. $result = mysql_query($query) or die($query.' '.mysql_error());


 
comme l'a dit omega, le or die , est la en cas d'echec, donc sur le mysql_query

Reply

Marsh Posté le 16-09-2008 à 16:02:15    

UPDATE db_images SET club = 'Leeds united', joueur = 'JD' WHERE id = 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 '' at line 1
 
 
 
Mais comme je l'ai dit plus haut, je débute avec SQL. D'où mes difficultés de compréhension.

Reply

Marsh Posté le 16-09-2008 à 16:03:11    

ca ne te semble pas louche , que dans ta requete, id n'ai pas de valeur ?

Reply

Marsh Posté le 16-09-2008 à 16:42:46    

Evidemment qu'il faudrait la valeur de l'id.  
 
mais pas moyen de l'obtenir.  
 
ça me prend trop la tête et ça sera encore une super connerie.  
 

Reply

Marsh Posté le 16-09-2008 à 16:42:46   

Reply

Marsh Posté le 16-09-2008 à 16:47:09    

soit la valeur n'est aps saisie dans ton formulaire
soit elle a pas le même nom
 
dans tous les cas , tu fais un print_r($_POST) pour voir ce que tu as comme valeurs

Reply

Marsh Posté le 16-09-2008 à 17:07:42    

Bon j'ai trouvé grâce à cette fonction.  
 
En fait, j'avais laissé un attribut name au submit de mon formulaire.  
 
Je suis pas sur de comprendre en quoi cela pose un problème mais toujours est il qu'une fois enlevé, ça fonctionne.  
 
 
 
Merci

Reply

Sujets relatifs:

Leave a Replay

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