[PHP] Modification de données sql
Fermé
gipn56
Messages postés
47
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
24 août 2009
-
13 mai 2007 à 22:06
gipn56 Messages postés 47 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 24 août 2009 - 14 mai 2007 à 18:45
gipn56 Messages postés 47 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 24 août 2009 - 14 mai 2007 à 18:45
A voir également:
- [PHP] Modification de données sql
- Suivi de modification word - Guide
- Logiciel gratuit modification pdf - Guide
- Easy php - Télécharger - Divers Web & Internet
- Supprimer les données de navigation - Guide
- Reinstaller windows sans perte de données - Guide
7 réponses
Yohan85
Messages postés
280
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
16 mai 2011
25
13 mai 2007 à 22:21
13 mai 2007 à 22:21
Salut !
Est-ce que dans ton fichier "conf.php" que tu appelles dans ton script "modifications.php", tu as la connexion à la base SQL ?
Yohan
Est-ce que dans ton fichier "conf.php" que tu appelles dans ton script "modifications.php", tu as la connexion à la base SQL ?
Yohan
gipn56
Messages postés
47
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
24 août 2009
1
14 mai 2007 à 08:24
14 mai 2007 à 08:24
oui j'ai bien la connexion a la base.
Yohan85
Messages postés
280
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
16 mai 2011
25
14 mai 2007 à 08:38
14 mai 2007 à 08:38
Salut !
Voici ce que je metterait a la fin de ton modifications.php
//on change les données de la base de données
$query2 = "update membres_tbl set login = '$newlogin', password = '$newpassword', mail = '$newmail', nom = '$newnom', prenom = '$newprenom', adresse = '$newadresse', ville = '$newville', codepostal= '$codepostal'";
if (!mysql_query($query2))
{
echo ('La modification à échouée : '.mysql_error());
}
else
{
echo (' le modele a été modifié');
}
?>
Et autre chose, dans ta requete SQL, tu n'a pas de clause WHERE pour sélectionner l'entrée SQL à modifier.
Yohan
Voici ce que je metterait a la fin de ton modifications.php
//on change les données de la base de données
$query2 = "update membres_tbl set login = '$newlogin', password = '$newpassword', mail = '$newmail', nom = '$newnom', prenom = '$newprenom', adresse = '$newadresse', ville = '$newville', codepostal= '$codepostal'";
if (!mysql_query($query2))
{
echo ('La modification à échouée : '.mysql_error());
}
else
{
echo (' le modele a été modifié');
}
?>
Et autre chose, dans ta requete SQL, tu n'a pas de clause WHERE pour sélectionner l'entrée SQL à modifier.
Yohan
saisas
Messages postés
21
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
13 juin 2007
5
14 mai 2007 à 10:48
14 mai 2007 à 10:48
Bonjour,
je confirme qu'il te manque une clause WHERE dans ton code pour modifier le bon enregistrement.
En ce qui concerne ta requête, je pense qu'elle ne s'exécute pas parce que tu dois avoir une ' dans les données mises à jour, ce qui rend invalide le code SQL.
Un conseil : pour tes tests, affiches l'ordre SQL que tu as généré, et si cela ne fonctionne pas, teste ton ordre SQL avec MySQL et modifies le jusqu'à ce qu'il passe.
Cordialement.
je confirme qu'il te manque une clause WHERE dans ton code pour modifier le bon enregistrement.
En ce qui concerne ta requête, je pense qu'elle ne s'exécute pas parce que tu dois avoir une ' dans les données mises à jour, ce qui rend invalide le code SQL.
Un conseil : pour tes tests, affiches l'ordre SQL que tu as généré, et si cela ne fonctionne pas, teste ton ordre SQL avec MySQL et modifies le jusqu'à ce qu'il passe.
Cordialement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gipn56
Messages postés
47
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
24 août 2009
1
14 mai 2007 à 13:42
14 mai 2007 à 13:42
J'ai suivi ce que vous m'avez mais il me reste un dernier probleme.
si je ne met pas WHERE login = '$login' ca me modifie les données de tous les comptes.
Mais quand je la met ca modifie plus rien.
merci pour votre aide
je vous donne mon nouveau script modifications.php :
<?
include('conf.php');
$newlogin= $_POST['newlogin'];
$newpassword= $_POST['newpassword'];
$newmail= $_POST['newmail'];
$newnom= $_POST['newnom'];
$newprenom= $_POST['newprenom'];
$newadresse= $_POST['newadresse'];
$newville= $_POST['newville'];
$newcodepostal= $_POST['newcodepostal'];
//on change les données de la base de données
$query2 = "update membres_tbl set login = '$newlogin', password = '$newpassword', mail = '$newmail', nom = '$newnom', prenom = '$newprenom', adresse = '$newadresse', ville = '$newville', codepostal= '$newcodepostal'";
if (!mysql_query($query2))
{
echo ('La modification à échouée : '.mysql_error());
}
else
{
echo (' le modele a été modifié');
}
?>
si je ne met pas WHERE login = '$login' ca me modifie les données de tous les comptes.
Mais quand je la met ca modifie plus rien.
merci pour votre aide
je vous donne mon nouveau script modifications.php :
<?
include('conf.php');
$newlogin= $_POST['newlogin'];
$newpassword= $_POST['newpassword'];
$newmail= $_POST['newmail'];
$newnom= $_POST['newnom'];
$newprenom= $_POST['newprenom'];
$newadresse= $_POST['newadresse'];
$newville= $_POST['newville'];
$newcodepostal= $_POST['newcodepostal'];
//on change les données de la base de données
$query2 = "update membres_tbl set login = '$newlogin', password = '$newpassword', mail = '$newmail', nom = '$newnom', prenom = '$newprenom', adresse = '$newadresse', ville = '$newville', codepostal= '$newcodepostal'";
if (!mysql_query($query2))
{
echo ('La modification à échouée : '.mysql_error());
}
else
{
echo (' le modele a été modifié');
}
?>
Yohan85
Messages postés
280
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
16 mai 2011
25
14 mai 2007 à 17:39
14 mai 2007 à 17:39
Salut !
Vérifie que ta variable $login est bonne, par exemple, dans ton formulaire tu met :
<input type="hidden" name="old_login" value="'.$row["login"].'">
Puis dans ta requete SQL tu met " WHERE login = "'.$_POST['old_login'].'"
Essaye ca et ta requete devrait marcher que pour le login demandé ;)
Yohan
Vérifie que ta variable $login est bonne, par exemple, dans ton formulaire tu met :
<input type="hidden" name="old_login" value="'.$row["login"].'">
Puis dans ta requete SQL tu met " WHERE login = "'.$_POST['old_login'].'"
Essaye ca et ta requete devrait marcher que pour le login demandé ;)
Yohan
gipn56
Messages postés
47
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
24 août 2009
1
14 mai 2007 à 18:45
14 mai 2007 à 18:45
Merci beaucoup maintenant tout marche parfaitement