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

PHP & Base de données Discussion :

Mise à jour d'une table mysql avec php


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 83
    Par défaut Mise à jour d'une table mysql avec php
    Posez votre question
    Liste des messages Discussion Liste des forums
    Signaler
    Erreur de la mise à jour mysql php
    glodybiss - 5 janv. 2012 à 09:44
    Ne plus suivre - Modifier
    Bonjour,

    Encore une assistance de votre part
    J'aimerai faire la mise à jour des quelques colonne des informations d'un membre inscrit dans ma base des données mais je rencontre plusieurs problème.

    Voici les erreurs que je rencontre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Notice: Undefined index: u in C:\wamp\www\internetservices\modifierAgent.php on line 6
     
    Notice: Undefined index: u in C:\wamp\www\internetservices\modifierAgent.php on line 6
    Erreur SQL !UPDATE cybernet.agent SET nom = "", prenom = "", privilege = "Administrateur", email = "", telephone = "", fonction_tech = "Sales" WHERE agent.0=
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2


    Toute mes sources

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    <?php
    //connection au serveur:
    $cnx = mysql_connect( "localhost", "root", "" ) ;
    //sélection de la base de données:
    $db = mysql_select_db( "mabase" ) ;
     
     if (isset($_POST['Modifier']) && $_POST['Modifier'] == 'Modifier') {
     
     		{
     	$sql = 'UPDATE cybernet.agent SET nom = "'.mysql_escape_string($_POST['nom']).'", prenom = "'.mysql_escape_string($_POST['prenom']).'", privilege = "'.mysql_escape_string($_POST['privilege']).'", email = "'.mysql_escape_string($_POST['email']).'", telephone = "'.mysql_escape_string($_POST['telephone']).'",
    fonction_tech = "'.mysql_escape_string($_POST['fonction_tech']).'" WHERE agent.'.intval($_GET['u']).'='.$_SESSION['u'].'';
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
     	echo '<div class="succes">Modifications faites avec succès</br></div>';
     		}
     }
     	else{
     		$erreur = 'Attention aux erreurs, remplissez correctement le formulaire pour modifier vos informations.';
     	}
    ?>
    <div id="box_Modif_Agent">
    <form action="" method="post" name="form1" id="form1">
              <table width="320" border="0" class="left">
     <?php
       if (isset($erreur)) {
       echo '<div id="info" class="worning">'.$erreur.'</div><!--error-->';
         } ?>
         <br/><br/>
         <h4>Modifier compte</h4>
     
                <tr>
                  <td class="td">Nom</td>
                  <td> <input type="text" name="nom" class="input_ajout_agent"  value="<?php if (isset($_POST['nom']))  echo htmlentities(trim($_POST['nom'])); ?>" ></td>
                </tr>
                <tr>
     
    			   <tr>
                  <td>Prenom</td>
                  <td >
                      <input type="text" name="prenom"  class="input_ajout_agent" value="<?php if (isset($_POST['prenom'])) echo htmlentities(trim($_POST['prenom'])); ?>" ></td>
                </tr>
     
    			   <tr>
                  <td>Privilege</td>
                  <td>
    			  <select name="privilege" class="input_ajout_agent"  value="<?php if (isset($_POST['privilege'])) echo htmlentities(trim($_POST['privilege'])); ?>"  >
    			  <option>Administrateur</option>
    			  <option>Utilisateur</option>
    			  </select>
    			  </td>
                </tr>
     
                 <tr>
                  <td class="td">E-mail</td>
                  <td> <input type="text" name="email" class="input_ajout_agent"  value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>"></td>
     
    			   	<tr>
                  <td class="td">Téléphone</td>
                         <td> <input type="text" class="input_ajout_agent"  name="telephone" value="<?php if (isset($_POST['telephone'])) echo htmlentities(trim($_POST['telephone'])); ?>"></td>
                </tr>
                  <tr>
                  <td class="td">Fonction</td>
     
                   <td>
    			  <select name="fonction_tech" class="input_ajout_agent"  value="<?php if (isset($_POST['fonction_tech'])) echo htmlentities(trim($_POST['fonction_tech'])); ?>"  >
    			  <option>Managere</option>
    			  <option>Sales</option>
    			  <option>Technicien</option>
    			  </select>
    			  </td>
                </tr>
     
                <tr>
                <td></td>
                  <td><input type="submit" name="Modifier" class="submi" value="Modifier" /></td>
                </tr>
    			</table>
     
    </form></div>
    </body>
    </html>


    Ma table agent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    CREATE TABLE IF NOT EXISTS 'agent' (
      'id' int(11) NOT NULL AUTO_INCREMENT,
      'nom' varchar(100) COLLATE utf8_unicode_ci NOT NULL,
      'prenom' varchar(100) COLLATE utf8_unicode_ci NOT NULL,
      'password' varchar(100) COLLATE utf8_unicode_ci NOT NULL,
      'matricule' varchar(45) COLLATE utf8_unicode_ci NOT NULL,
      'privilege' varchar(50) COLLATE utf8_unicode_ci NOT NULL,
      'date' datetime NOT NULL,
      'email' varchar(100) COLLATE utf8_unicode_ci NOT NULL,
      'telephone' varchar(45) COLLATE utf8_unicode_ci NOT NULL,
      'fonction_tech' varchar(45) COLLATE utf8_unicode_ci NOT NULL,
      'birthday' date NOT NULL,
      'intervention' varchar(100) COLLATE utf8_unicode_ci NOT NULL,
      PRIMARY KEY ('id'),
      UNIQUE KEY 'id_agent_UNIQUE' ('id')
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=38 ;



    Merci pour votre aide

  2. #2
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = 'UPDATE cybernet.agent SET nom = "'.mysql_escape_string($_POST['nom']).'", prenom = "'.mysql_escape_string($_POST['prenom']).'", privilege = "'.mysql_escape_string($_POST['privilege']).'", email = "'.mysql_escape_string($_POST['email']).'", telephone = "'.mysql_escape_string($_POST['telephone']).'",
    fonction_tech = "'.mysql_escape_string($_POST['fonction_tech']).'" WHERE agent.'.intval($_GET['u']).'='.$_SESSION['u'].''
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['u'] # est vide
    Je ne comprends pas ce que essaye de faire avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    agent.'.intval($_GET['u'])
    n'est pas un champ valide.

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 83
    Par défaut
    Salut !

    En fait ce n'est pas vraiment à prendre en compte ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    agent.'.intval($_GET['u'])
    Je voulais essayé de récupérer l'ID de l'utilisateur dont la session est en cours mais ça n'a pas marché et je ne sais vraiment pas trouvé une solution pour ça, peux-tu donc m'aider aussi pour ça ?

  4. #4
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    il faut qu'à la connexion de l'utilisateur tu assignes bien la variable de session.

    exemple :
    L'utilisateur se connecte on récupère son ID après avoir vérifier ses informations (mail, mot de passe)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['agen_id'] = $id; # récupérer de la base de donnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql = 'UPDATE cybernet.agent SET nom = "'.mysql_escape_string($_POST['nom']).'", prenom = "'.mysql_escape_string($_POST['prenom']).'", privilege = "'.mysql_escape_string($_POST['privilege']).'", email = "'.mysql_escape_string($_POST['email']).'", telephone = "'.mysql_escape_string($_POST['telephone']).'",
    fonction_tech = "'.mysql_escape_string($_POST['fonction_tech']).'" WHERE id='.$_SESSION['agent_id'].''

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 83
    Par défaut
    Le code fonction presque avec ta méthode parce que quand j'essaie d’exécuté la requête à partir de la base des données ça fonction mais quand j'utilise avec php j'ai des erreurs

    La requête avec le nom se la session ouverte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$_SESSION ['nom']   = $data['nom'];//la session avec son nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Erreur SQL !UPDATE cybernet.agent SET nom = "", prenom = "", privilege = "Administrateur", email = "", telephone = "", fonction_tech = "Managere" WHERE nom=Kalamba
    Unknown column 'Kalamba' in 'where clause'
    Erreur sql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Erreur SQL !UPDATE cybernet.agent SET nom = "", prenom = "", privilege = "Administrateur", email = "", telephone = "", fonction_tech = "Managere" WHERE nom=Kalamba
    Unknown column 'Kalamba' in 'where clause'

  6. #6
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    tu as oublié les cotes pour entourer le nom.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE cybernet.agent SET nom = "", prenom = "", privilege = "Administrateur", email = "", telephone = "", fonction_tech = "Managere" WHERE nom='Kalamba'

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/07/2007, 17h20
  2. Réponses: 1
    Dernier message: 27/03/2007, 10h23
  3. mise a jour d'une table paradox avec une autre table sous delphi
    Par bobo2005 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/01/2007, 21h07
  4. Mise à jour d'une table avec une autre
    Par Lucien dans le forum SQL
    Réponses: 2
    Dernier message: 20/04/2006, 10h46
  5. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46

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