Problème sur lancement de la requête SQL

Répondre
mononc
le 05/05/2009 à 23:29
mononc
Bonjour j'ai ce code

<?php
$base = mysql_connect ('localhost', 'Mononc', '1111');
mysql_select_db ('ma_base', $base) ;
?>
<html>
<head>
<title>Modification de l'adresse d'un propriétaire</title>
</head>
<body>
<?php
// on teste si les variables du formulaire sont déclarées
if (isset($_POST['nouvelle_adresse']) && isset($_POST['proprio'])) {
// lancement de la requête
$sql = 'UPDATE liste_proprietaire SET adresse="'.$_POST['nouvelle_adresse'].'"WHERE nom="'.$_POST['proprio'].'"';
// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base
mysql_close();
// un petit message permettant de se rendre compte de la modification effectuée
echo 'La nouvelle adresse de '.$_POST['proprio'].' est : '.$_POST['nouvelle_adresse'];
}
else {
echo 'Les variables du formulaire ne sont pas déclarées';
}
?>
</body>
</html>



Ce code modifie l'adresse mais j'aimerais qu'il modifie aussi l'age par exemple.
J'ai essayé le code suivant mais...sans succès...


<?php
$base = mysql_connect ('localhost', 'Mononc', '1111');
mysql_select_db ('ma_base', $base) ;
?>
<html>
<head>
<title>Modification de l'adresse d'un propriétaire</title>
</head>
<body>
<?php
// on teste si les variables du formulaire sont déclarées
if (isset($_POST['nouvelle_adresse']) && isset($_POST['proprio']) && isset($_POST['age'])) {
// lancement de la requête
$sql = 'UPDATE liste_proprietaire SET adresse="'.$_POST['nouvelle_adresse']. and SET age="'.$_POST[ 'age'].'"WHERE nom="'.$_POST[ 'proprio'].'"';
// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base
mysql_close();
// un petit message permettant de se rendre compte de la modification effectuée
echo 'La nouvelle adresse de '.$_POST['proprio'].' est : '.$_POST['nouvelle_adresse'];
}
else {
echo 'Les variables du formulaire ne sont pas déclarées';
}
?>
</body>
</html>


Aidez-moi s.v.p. :)

Merci d'utiliser le BB-COde pour paster vos codes, c'est pourtant bien spécifié dans les conditions d'utilisation des forums que vous ne lisez donc pas :)
LA GLOBULE
le 05/05/2009 à 23:47
LA GLOBULE
Tu as une parse error dans ton code plus une erreur SQL dans ton code.

PHP ne te le dis pas ? Si non, modifie ta configuration de PHP pour les faire s'afficher, sinon, tu vas galérer.

Bref, voici une meilleure concaténation pour ta requête :

<?php
$sql = "UPDATE liste_proprietaire SET adresse = '".mysql_escape_string($_POST['nouvelle_adresse'])."', age = '".mysql_escape_string($_POST['age'])."' WHERE nom = '".mysql_escape_string($_POST['proprio']).'";
?>


Prend aussi l'habitude d'utiliser mysql_escape_string si tu ne veux pas avoir de problème de sécurité sur ton site.

PS : pense aussi à nous donner les messages d'erreurs que tu vois sur ta page, ca peut nous aider (c'est plus instructif que "J'ai essayé le code suivant mais...sans succès..." ou bien "ca ne marche pas").
mononc
le 06/05/2009 à 03:52
mononc
Merci pour le coup de main.
Aussi je suis allé lires les conditions d'utilisation du forum et a l'avenir je vais les appliquer...
Désolé et merci encore. :)
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours