Probleme avec la requete sql "SELECT ... FOR UPDATE"

Résolu
kgadhi Messages postés 121 Date d'inscription mardi 9 août 2005 Statut Membre Dernière intervention 18 décembre 2007 - 30 mars 2006 à 14:40
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 - 30 mars 2006 à 20:08
Bonjour tout le monde et merci pour votre aide

Pour mon site perso hébérgé chez free j'ai un probleme avec une requete:

....$Req_Param "SELECT Param_Val FROM Parametres WHERE Param_Type 'Personne_Id' FOR UPDATE";
$Res_Param = mysql_query($Req_Param);

$Val_Param = mysql_result($Res_Param, 0, "Param_Val");
$Val_Param = $Val_Param + 1;
$Req "UPDATE Parametres SET Param_Val $Val_Param WHERE _Type = 'Personne_Id'";
$Res = mysql_query($Req);
....

mais le probleme c'est que rien ne se passe.
J'ai l'habitude de faire ce genre de requete mais la chez free ça ne marche pas et je n'arrive pas à trouver l'erreur.
Merci de bien voulir m'aider.

6 réponses

ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
30 mars 2006 à 15:26
salut,


Deja as tu une erreur qui s'affiche?


Si je me gourre pas le principe du FOR UPDATE est de verroullé l'enregistrement ce qui fait que ton prochain update ce fera sur ce résultat bref pas besoins de remettre de where dans ton update.

Ensuite le meilleur moyen de savoir d'ou vient ton erreur est le debugage pour ca rien de mieux que le echo tu peut en placer autant que tu veut a des endroits strategiques (il suffit de les enlever apres ou de les mettre en commentaires)
$Req_Param "SELECT Param_Val FROM Parametres WHERE Param_Type 'Personne_Id' FOR UPDATE";
$Res_Param = mysql_query($Req_Param);

$Val_Param = mysql_result($Res_Param, 0, "Param_Val");
echo $Val_Param; //ca va te permettre d'etre sur que ton code ramene bien un resultat et peut etre mieux cerné ton probleme
$Val_Param = $Val_Param + 1;
$Req "UPDATE Parametres SET Param_Val $Val_Param WHERE _Type = 'Personne_Id'";
$Res = mysql_query($Req);
....

En plus dans la clause where de ton update t'as mis _Type alors que dans ton select c'est Param_Type (bon apres je connais pas tes tables)


++

"Aucun de nous ne sait ce que nous savons tous, ensemble." Lao Tseu inventeur du "copier coller" [8D]
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
30 mars 2006 à 15:42
$Req = "UPDATE Parametres SET Param_Val = $Val_Param WHERE _Type = 'Personne_Id'";

il ne manque pas quelque chose ?
0
kgadhi Messages postés 121 Date d'inscription mardi 9 août 2005 Statut Membre Dernière intervention 18 décembre 2007
30 mars 2006 à 15:54
une faute de frape:$Req "UPDATE Parametres SET Param_Val $Val_Param WHERE Param_Type = 'Personne_Id'";

Et apparement ça a l'air de marcher donc je vais voir ou ça foire

Merci en tout cas
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
30 mars 2006 à 16:54
et là il ne manque pas un $
tu recuperes bien $Personne_id quelque part ?
$Req_Param "SELECT Param_Val FROM Parametres WHERE Param_Type '$Personne_Id' FOR UPDATE";

le FOR UPDATE ne me parait pas indispensable
pareil ici non ?$Req <gras>"UPDATE Parametres SET Param_Val '$Val_Param' WHERE Param_Type = '$Personne_Id'";</gras>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kgadhi Messages postés 121 Date d'inscription mardi 9 août 2005 Statut Membre Dernière intervention 18 décembre 2007
30 mars 2006 à 20:05
non il ne manque pas de $ parce que mon champ param_type c'est un string,
et le for update ça me permet de controler les identifant de mes tables
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
30 mars 2006 à 20:08
ah ok alors ça marche ?
0
Rejoignez-nous