Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/04/2006, 17h53   #1
Membre régulier
 
Inscription : décembre 2005
Messages : 305
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 305
Points : 86
Points : 86
Par défaut [SQL] problème avec ma requête UPDATE

j'ai un problème pour enregistrer les modifications d'un formulaire dans la table fr_particulier.

J'ai vérifier les noms des champs sont corrects. Tout est bon il y a pas d'erreur d'affichage lors de l'exécution mais l'enregistrement ne se fait pas.

requete :
Code :
1
2
 
mysql_query("UPDATE fr_particulier SET nom='".$nom."' , prenom='".$prenom."', adresse='".$adresse."' , code_postal='".$code_postal."' , ville='".$ville."' , telephone='".$telephone."', email='".$email."' , site_internet='".$site_internet."' WHERE $a = $mp",$db);
requête dans le code complet

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
 
<? session_start(); ?>
<?
   $db = mysql_connect("localhost","root","");
   mysql_select_db("essai");
?>
<?
$mp = $_SESSION['$ident'];
$nom = $_POST["nom"];
$prenom = $_POST["prenom"];
$adresse = $_POST["adresse"];
$code_postal = $_POST["code_postal"];
$ville = $_POST["ville"];
$telephone = $_POST["telephone"];
$email = $_POST["email"];
$site_internet = $_POST["site_internet"];
if (((strlen(trim($nom)) < 1) > 26) || preg_match('`[^a-z éèçùêëàääîïôöûü\']`i', $nom))
{echo "le nom contient un caractère interdit ou est vide<br>";}
elseif (((strlen(trim($prenom)) < 1) > 26) || preg_match('`[^a-z éèçùêëàääîïôöûü\']`i', $prenom))
{echo "le prenom contient un caractère interdit ou est vide<br>";}
elseif (((strlen(trim($adresse)) < 1) > 51) || preg_match('`[^a-z éèçùêëàääîïôöûü\'0123456789]`i', $adresse))
{echo "l'adresse contient un caractère interdit ou est vide<br>";}
elseif (((strlen(trim($code_postal)) < 1) > 6) || preg_match('`[^0-9]`i', $code_postal))
{echo "le code postal contient un caractère interdit ou est vide<br>";}
elseif (((strlen(trim($ville)) < 1) > 51) || preg_match('`[^a-z éèçùêëàääîïôöûü\']`i', $ville))
{echo "la ville contient un caractère interdit ou est vide<br>";}
elseif (((strlen(trim($telephone)) < 1) > 11) || preg_match('`[^0-9]`i', $telephone))
{echo "le téléphone contient un caractère interdit ou est vide<br>";}
elseif (((strlen(trim($email)) < 1) > 51) || preg_match('`[^a-z éèçùêëàääîïôöûü\'@.]`i', $email))
{echo "l'email contient un caractère interdit ou est vide<br>";}
elseif (((strlen(trim($site_internet)) < 1) > 51) || preg_match('`[^a-z éèçùêëàääîïôöûü._\-0123456789]`i', $site_internet)) {echo "le site internet contient un caractère interdit ou est vide<br>";}
elseif ($v = mysql_query("SELECT num_particulier FROM fr_particulier WHERE num_particulier = $mp"))
{$a = mysql_result($v,'num_particulier');echo "la valeur mp : $mp";echo "la valeur $a : $a"}
else {mysql_query("UPDATE fr_particulier SET nom='".$nom."' , prenom='".$prenom."', adresse='".$adresse."' , code_postal='".$code_postal."' , ville='".$ville."' , telephone='".$telephone."', email='".$email."' , site_internet='".$site_internet."' WHERE $a = $mp",$db);}
?>
carmen256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 18h07   #2
Membre chevronné
 
Avatar de Hervé Saladin
 
Développeur Web
Inscription : décembre 2004
Messages : 636
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2004
Messages : 636
Points : 689
Points : 689
Citation:
Envoyé par carmen256
étant donné que $a ne semble pas être un nom d'un champ de ta table fr_particulier (peut être que je me trompe ?) cela n'a pas de sens.
Il faut faire quelque chose de la forme :
Code :
WHERE nom_champ = 'valeur_de_test'
souvent, nom_champ est un identifiant (quand on veut mettre à jour une ligne bien précise) mais pas toujours.
__________________
Ne cliquez pas sur ce lien
Hervé Saladin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 18h16   #3
Membre régulier
 
Inscription : décembre 2005
Messages : 305
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 305
Points : 86
Points : 86
j'ai essayer un

Code :
1
2
 
WHERE num_particulier = $mp
ca marche pas non plus.
[/quote]
carmen256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 18h20   #4
Membre chevronné
 
Avatar de Hervé Saladin
 
Développeur Web
Inscription : décembre 2004
Messages : 636
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2004
Messages : 636
Points : 689
Points : 689
eh ben c'est probablement que aucun enregistrement de ta table ne correspond à cette condition where ...
il m'est difficile de t'en dire plus étant donné que ton code est quasiment illisible. Essaye de faire apparaitre le code sql de ta requete une fois construite à l'écran avec un print ou un echo, et montre nous ce que ca donne.
__________________
Ne cliquez pas sur ce lien
Hervé Saladin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 18h27   #5
Membre régulier
 
Inscription : décembre 2005
Messages : 305
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 305
Points : 86
Points : 86
Par défaut rep

les enregistrements y sont
carmen256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 23h48   #6
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 569
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 569
Points : 2 500
Points : 2 500
Salut, tu as affiché ta requête et tu l'as testé dans PhpMyAdmin (par exemple) :
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 08h49   #7
Membre du Club
 
Étudiant
Inscription : avril 2005
Messages : 214
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2005
Messages : 214
Points : 62
Points : 62
oui test ta requete d'abord :

Code :
1
2
3
4
 
$req=("UPDATE fr_particulier SET nom='".$nom."' , prenom='".$prenom."', adresse='".$adresse."' , code_postal='".$code_postal."' , ville='".$ville."' , telephone='".$telephone."', email='".$email."' , site_internet='".$site_internet."' WHERE $a = $mp",$db); 
 
echo $req;
Et regarde le resultat
Tr@nkill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 11h26   #8
Membre actif
 
Avatar de funckfot
 
Étudiant
Inscription : mars 2006
Messages : 221
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2006
Messages : 221
Points : 180
Points : 180
si je peu me permettre
espace ton code , laisse de la place, c pas interdit et sa aide beaucoup pour la comprehension de son propre code
enfin je dit sa c pour toi et peu etre que dans ta page c pas comme sa

et pour ton probleme je ne voit que :


Citation:
oui test ta requete d'abord :
Code :
1
2
3
4
 
$req=("UPDATE fr_particulier SET nom='".$nom."' , prenom='".$prenom."', adresse='".$adresse."' , code_postal='".$code_postal."' , ville='".$ville."' , telephone='".$telephone."', email='".$email."' , site_internet='".$site_internet."' WHERE $a = $mp",$db);
 
echo $req;
Et regarde le resultat
funckfot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h11.


 
 
 
 
Partenaires

Hébergement Web