Bonjour,
Je n'arrive pas à trouver d'où viendrai cette erreur :
En effet, j'ai une page ou je sélectionne des informations en provenance d'une base(BDD1) et je fais une mise à jour dans cette base. Si tout se passe bien, on est redirigé vers une autre page avec ces mêmes informations (par des variables de sessions) pour la mise à jour d'une autre base(BDD2)
première page :
dans la page newcoord_reservation.php on a
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 $host="host"; $user="user"; $pass="pass"; $bdd="BDD1"; $link=@mysql_connect($host,$user,$pass); if(!$link){ header("location:../message/message_err.php?ERR=SRV"); exit(); }else{ $link0=@mysql_select_db("$bdd"); if(!$link0){ header("location:../message/message_err.php?ERR=BSE"); exit(); } } $Table="agent"; $SQL_SELECT="Select Id_user_reservation, User_agent, Passe_agent from $Table where Num_agent=$lenumagent"; $lresult=mysql_query($SQL_SELECT) or die (mysql_error()); if($leresult=mysql_fetch_array($lresult)){ $leuseragent = $leresult['User_agent']; $lepasseagent = $leresult['Passe_agent']; $lidagentreservation = $leresult['Id_user_reservation']; } //--variable session $_SESSION['LIDRESERVATION']=$lidagentreservation; ------- -------- //--mise à jour BDD1 if(!empty($_POST['valid'])) $lavalid=$_POST['valid']; //$Table="agent"; if(!empty($lavalid)){ $leuser = $_POST['identif2']; $lepass = $_POST['pass2']; $ltheme = $_POST['theme']; $lvaleur = $_POST['valeur']; //--Mise à jour dans la base $SQL_UPDATE="UPDATE $Table SET User_agent = '$leuser', Passe_agent = '$lepass', Theme_agent = '$ltheme', Val_Them_agent ='$lvaleur' where Num_agent= $lenumagent"; $monresult=@mysql_query($SQL_UPDATE) or die (mysql_error()); $_SESSION['LENEWUSER']=$leuser; $_SESSION['LENEWPASSE']=$lepass; //--fermer la connexion mysql_close(); //--redirection vers la page de MAJ dans la base réservation header("location:newcoord_reservation.php"); exit(); }
Ce que je ne comprend pas c'est que dans mes deux bases les mise à jour sont effectuées, mais dans la deuxième page je suis renvoyé vers la page d'erreur comme si l'update de cette page n'a pas été effectué. J'ai cherché à afficher la variable $nbr_lgn mais elle est vide. Pourtant j'ai utilisé mysql_affected_rows ailleurs mais je n'ai pas eu de problème. Je ne sais pas si c'est le fait de changer de base de données qui cause cela ? Toutefois je constate quand même que la base est mise à jour avec les données en provenance du premier fichier. Je suis sur PHP 5.1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 $host="host"; //remarque c'est le même serveur $user="user1"; $pass="pass1"; $bdd="BDD2"; $Table1="mrbs_users"; $leuser = $_SESSION['LENEWUSER']; $lepass = $_SESSION['LENEWPASSE']; $lidagentreservation = $_SESSION['LIDRESERVATION']; $SQL_UPDATE="UPDATE $Table1 SET name = '$leuser', password = '$lepass1' where id = $lidagentreservation"; $monresultat=@mysql_query($SQL_UPDATE); if(!empty($monresultat)){ //retourne le nombre de ligne affecté par UPDATE, DELETE, etc. et non SELECT et SHOW $nbr_lgn=mysql_affected_rows($monresultat); } mysql_close(); if($nbr_lgn<1){ //--pas d'update header("location:../message/message_err.php?ERR=BSM"); exit(); }else{ //--redirection vers message lorsque tout s'est bien passé header("location:../message/message.php?T=CCO"); exit(); }
Quelqu'un pourrai s'il vous plaît me dire à quoi cela peut être dû ? En vous remerciant !
Partager