Erreur SQL
Résolu
YannisCraft
Messages postés
8
Statut
Membre
-
YannisCraft Messages postés 8 Statut Membre -
YannisCraft Messages postés 8 Statut Membre -
Bonjour,
J'ai un probleme dans ma page php que je ne vois pas comment resoudre.
J'ai deja chercher sur internet et je ne vois pas vraiment comment faire.
Voici le code de la page qui crée un probleme.
update.func.php :
Cet page sert a actualiser les informations dans la base de données.
Le formulaire qui est avec cet page est la :
update.php
Voila j'espere que vous pourrez m'aidez.
J'ai un probleme dans ma page php que je ne vois pas comment resoudre.
J'ai deja chercher sur internet et je ne vois pas vraiment comment faire.
Voici le code de la page qui crée un probleme.
update.func.php :
<?php
//function changer information profil
function changer_information_membre($email,$situation,$apropos)
{
$query = mysql_query("UPDATE utilisateurs SET email='$email',situation='$situation',apropos='$apropos' WHERE pseudo='{$_SESSION['pseudo']}") or die(mysql_error());
}
?>
Cet page sert a actualiser les informations dans la base de données.
Le formulaire qui est avec cet page est la :
update.php
<?php
include('functions/membre.func.php');
include('body/menu.php');
include('body/header.php');
if(isset($_POST['submit']))
{
$email = htmlentities(trim($_POST['email']));
$apropos = htmlentities(trim($_POST['apropos']));
$situation = htmlentities(trim($_POST['situation']));
changer_information_membre($email,$situation,$apropos);
header('Location:index.php?page=membre');
}
?>
<h3>Changer vos informations<h3>
<?php
foreach($infos as $info)
{
?>
<form method='POST' action=''>
<label for='situation'>Votre situation : </label>
<select name="situation">
<?php echo isset($info['situation']) ? '<option value='.$info['situation'].'>'.$info['situation'].'</option>' : '';?>
<?php echo $info['situation'] != 'Celibaire' ? '<option value="Celibataire">Célibataire</option>' : ''; ?>
<?php echo $info['situation'] != 'Couple' ? '<option value="Couple">En couple</option>' : ''; ?>
<?php echo $info['situation'] != 'Divorcé(e)' ? '<option value="Divorcé(e)">Divorcé(e)</option>' : ''; ?>
<?php echo $info['situation'] != 'Veuf(ve)' ? '<option value="Veuf(ve)">Veuf(ve)</option>' : ''; ?>
</select><br/><br/>
<label for='email'>Votre email : </label>
<input type="text" name='email' value='<?php echo $info['email']; ?>'><br/><br/>
<label for='apropos'>A propos de vous : </label>
<textarea rows='6' cols='30' name='apropos'><?php echo $info['apropos']; ?></textarea><br/><br/>
<input type='submit' value='Validez' name='submit'>
</form>
<?php
}
?>
Voila j'espere que vous pourrez m'aidez.
7 réponses
-
Plop !
J'ai un problème dans ma page php que je ne vois pas comment résoudre.
Et..... Sinon c'est quoi le problème exactement !?? (si ca marchait on se doute que tu ne serais pas la !)
Si des messages d'erreurs sont présent (dans le source de la page, dans les logs ) ce serait bien de nous les donner ! -
-
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
ok j'en demandais pas tant ! lol...
Donc je pense que tu auras compris que c'est ta requete qui ne fonctionne pas.... Mysql ne comprend pas ce que tu lui demande... Ne voyant pas de problème de synthaxe dans ta requête... j'imagine que tes données ne sont pas échappées correctement...
Fait un :var_dump( "UPDATE utilisateurs SET email='$email',situation='$situation',apropos='$apropos' WHERE pseudo='{$_SESSION['pseudo']}" );
au début de la fonction : function changer_information_membre($email,$situation,$apropos)
A chaque fois que tu as un problème de requête SQL, tu affiches la valeur de la requête juste avant de l'exécuter comme çà tu sais pourquoi ça va pas très vite... Si tu ne vois toujours pas... ce que je fais apres je prends la requête et j'essaye dans PhpMyAdmin jusqu'à ce que çà fonctionne...
Personnellement ça je trouve ça bien (pour l'afficher dans du .... HTML) :$email = htmlentities(trim($_POST['email'])); $apropos = htmlentities(trim($_POST['apropos'])); $situation = htmlentities(trim($_POST['situation']));
Mais pourquoi utiliser son résultat dans une base de données !??? -
EN plus d'être non échappé comme le dit -helper-, il y a une autre erreur de Syntaxe :
WHERE pseudo='{$_SESSION['pseudo']}")Il manque un p'tit apostrophe, nan ?WHERE pseudo='{$_SESSION['pseudo']}'") -
Merci beaucoup cela ma grandement aidez !
Merci -helper- pour ces conseil !
je les utiliserai .
Nhay tu a raison c'est l'apostrophe que j'avais oublier. xD merci.