Nombre de lignes affectées par UPDATE vide
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 :
Code:
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();
} |
dans la page newcoord_reservation.php on a
Code:
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();
} |
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
Quelqu'un pourrai s'il vous plaît me dire à quoi cela peut être dû ? En vous remerciant !