IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

MàJ table qui ne se fait pas [Fait]


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut MàJ table qui ne se fait pas
    Re-bonjour,

    je me connecte à la table de ma bd et j'ajoute un enregistrement avec la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nouv = mysql_query("INSERT INTO mespages (nompage) VALUES ('$valeurpage')");
    table que je met à jour peu après dans un autre fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $majpage = mysql_query("UPDATE mespages SET nompage=$n1, contenu1=$c1, contenu2=$c2, contenu3=$c3, contenu4=$c4 WHERE nompage=$n1");
    or quand je vais sur mon serveur dans 'administration' : il n'affiche que 5 enregistrements alors qu'il devrait y en avoir 6.

    je n'arrive pas à comprendre pourquoi
    Dernière modification par Invité ; 15/03/2009 à 18h15.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    En développement, utilise la syntaxe ci-dessous pour récupérer ton erreur :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // On prépare la requête 
            $sql = 'SELECT * FROM utilisateurs WHERE sexe="F"';  
     
            // On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas (or die)  
            $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    http://sylvie-vauthier.developpez.co...tant/?page=bdd

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Pour ajouter une ligne, c'est 'INSERT' et non pas 'UPDATE'.

  4. #4
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Citation Envoyé par jeca Voir le message
    Bonjour,

    Pour ajouter une ligne, c'est 'INSERT' et non pas 'UPDATE'.
    C'est déjà ce qu'il fait.

    Tu devrais aérer un peu ton code pour le rendre plus lisible et rajouter des quotes pour tes champs .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $majpage = "UPDATE mespages 
                SET 
                nompage  = '" . $n1 . "', 
                contenu1 = '" . $c1 . "', 
                contenu2 = '" . $c2 . "', 
                contenu3 = '" . $c3 . "', 
                contenu4 = '" . $c4 . "' 
                WHERE 
                nompage  = '" . $n1 . "'
                ";
     
    mysql_query($majpage) or die (mysql_error());
    Il n'est pas prudent de faire un UPDATE par rapport au champ nompage.
    Est'il bien un champ PRIMARY KEY ???

    Tu devrais ajouter un champ id PRIMARY KEY et AUTOINCREMENT et faire tes UPDATE par rapport à ce champ.

    De plus , tu fais un UPDATE par rapport à nompage, mais tu es susceptible de le modifier :

    par exemple :

    Avant le formulaire : $n1 = "mon truc en plume" ;

    Tu remplis ton formulaire et tu modifie le champ $n1 :
    $n1 = "ma chemise à poil ras" ;

    Quand tu vas executer ta requete, tu vas vouloir modifier la ligne où nompage = "ma chemise à poil ras" OR, dans la table , nompage = "mon truc en plume" !!

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/07/2013, 15h02
  2. DefaulTableModel : table qui ne s'affiche pas
    Par parano dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 06/06/2007, 19h43
  3. [Tableaux] création de tableau qui ne se fait pas
    Par mussara dans le forum Langage
    Réponses: 2
    Dernier message: 01/11/2006, 21h44
  4. Test qui ne se fait pas
    Par GLDavid dans le forum Linux
    Réponses: 12
    Dernier message: 07/03/2006, 14h57
  5. Pb de selection qui ne se fait pas
    Par Stef.proxi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/08/2004, 10h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo