cs_antho11
Messages postés38Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention13 février 2005
-
28 déc. 2004 à 11:06
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 2013
-
29 déc. 2004 à 16:47
Bonjour, j'ai un un problème dans ce fichier la requete UPDATE ne s'execute pas ? mais pourtant la requete INSERT INTO s'éxecute bien .... je n'y comprend plus rien ..........
voici le code
<?php
$host = "********"; // adresse du serveur sql que vous utilisez. ex : "sql.free.fr"
$user = "********"; // login de la base de données. ex : votre login Free
$pass = "********"; // mot de passe de la base de données. ex : votre mot de passe Free
$base = "********"; // nom de la base de données. ex : identique à votre login sur Free
// connexion à la base de données
$db = mysql_connect("$host", "$user", "$pass");
mysql_select_db("$base",$db);
$req = "SELECT login FROM admin_membres WHERE login='$destinataire'";
$result = mysql_query($req);
$res = mysql_num_rows($result);
if($res!=1)
{
print (" <center>Le destinataire donné n'existe pas ! </center>");
include ('envoi_mess.php');
exit();
}
else {
$sql = "INSERT INTO admin_messagerie (id,date,sujet,auteur,message,destinataire) VALUES ('','$date','$sujet','$auteur','$message','$destinataire')";
$result2 = mysql_query($sql);
$modif = "UPDATE admin_membres SET nouveau='oui' WHERE login='$login'"; // Requête de "modification"
$result_modif = mysql_query($modif);
echo"<center>Votre message à été envoyé avec succès</center>";
}
?>
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 28 déc. 2004 à 12:02
Salut!
Il faut deja tester le retour d'un SELECT avant tout mysql_num_rows ou mysql_fetch_array pr prévoir les erreurs, genre:
$result = mysql_query('...');
if(!$result)
{
// gestion d'erreur ici
// interruption du script ou redirection
}
mysql_fetch_array($result);
Idem, c'est pas mal de tester la connection à la bdd:
$db = @mysql_connect($host, $user, $pass);
if(!$db || !@mysql_select_db($base,$db))
die('Erreur lors de la connection à MySQL');
Ensuite, quand tu as une requete qui s'effectue pas, tu peux appeler mysql_error() qui te donne la dernière erreur mysql ca t'aidera pr debugger:
$modif = "UPDATE admin_membres SET nouveau='oui' WHERE login='$login'"; // Requête de "modification"
$result_modif = mysql_query($modif) or die(mysql_error());
Voila, si tu nous donne l'erreur, on pourra mieux t'aider
cs_antho11
Messages postés38Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention13 février 2005 28 déc. 2004 à 13:22
Excuser moi le code
// connexion à la base de données
$db = @mysql_connect($host, $user, $pass);
if(!$db || !@mysql_select_db($base,$db))
die('Erreur lors de la connection à MySQL');
$sql = "INSERT INTO admin_messagerie (id,date,sujet,auteur,message,destinataire) VALUES ('','$date','$sujet','$auteur','$message','$destinataire')";
$result2 = mysql_query($sql);
$modif = "UPDATE admin_membres SET nouveau='oui' WHERE login='$login'"; // Requête de "modification"
$result_modif = mysql_query($modif) or die(mysql_error());
echo"<center>Votre message à été envoyé avec succès</center>";
}
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 29 déc. 2004 à 16:47
Salut!
Je comprends pas: Si un UPDATE n'est pas effectué, je vois deux solutions:
- erreur dans la requete
- clause WHERE ne retourant aucun enregistrement...
Si tu fais un SELECT avec comme close WHERE login='$login', ca te retourne un enregistrement?