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 :

MySQL Update qui ne se fait pas [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut MySQL Update qui ne se fait pas
    Bonjour.

    Si j'insère dans un champ le mot "éléphant", pas de problème.
    Si je veux le modifier en mettant "l'éléphant", la requete de mise à jour ne se fait pas.
    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
    $monnom = "";
    $id_nom = "";
    $inserer1 = "";
    $afficher1 = "";
    $modifier1 = "";
     
    if (isset($_POST['monnom']))	$monnom = $_POST['monnom'];
    else $monnom = "";
    if (isset($_POST['id_nom']))	$id_nom = $_POST['id_nom'];
    else $id_nom = "";
    //enregistrement dans la table
    if (isset($_POST['inserer1'])) {
    	$monnom = mysql_real_escape_string($monnom);
        	$sql = "INSERT INTO couleurs(id_nom, nom, couleur, DateDebut, champ)
    		VALUES('', '$nom', '$couleur', '$date_debut', '$monnom')";
        		mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    		//récupération de l'id pour réafficher
    		$id_nom = mysql_insert_id();
    		$_POST['id_nom'] = $id_nom;
    }
    //modification des données enregistrées
    if (isset($_POST['modifier1'])) {
    	$monnom = mysql_real_escape_string($monnom);
    	$sql = "UPDATE couleurs SET nom = '$nom', couleur = '$couleur', DateDebut = '$date_debut' champ = '$monnom' WHERE id_nom = $id_nom";
    		mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     
    }
    //affichage des données 
    if (isset($_POST['id_nom'])) {
    	$sql = mysql_query("SELECT * FROM couleurs WHERE id_nom = $id_nom");
    	if (mysql_num_rows($sql) > 0){
    		$res = mysql_fetch_array($sql);
    		$id_nom = $res['id_nom'];
    		$monnom = $res['champ'];		
    	}
    }
    ?>
    <br />
    <form name="saisi" method="POST" action="index.php?page=page">
    <input type="text" name="id_nom" value="<?php echo $id_nom; ?>">
    <table border="1" style="margin-left:20px">
    	<tr>
    		<td><input type="text" name="monnom" value="<?php echo $monnom; ?>"></td>
    	</tr>
    	<tr>
    		<td><input type="submit" name="inserer1" value="insérer">
    		<input type="submit" name="afficher1" value="afficher">
    		<input type="submit" name="modifier1" value="modifier"></td>
    	</tr>
    </table>
    </form>
    Je dois être fatigué, je vois pas où est le problème

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Par défaut
    Que te donne mysql_error ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Erreur SQL !UPDATE couleurs SET nom = '', couleur = '', DateDebut = '--01' champ = 'l'ÉLÉPHANT' WHERE id_nom = 51
    Erreur de syntaxe près de 'champ = 'l'ÉLÉPHANT' WHERE id_nom = 51' à la ligne 1

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Par défaut
    Le ' n'est pas échappé. Il faut que tu utilises mysql_real_escape_string sur les chaines que tu insere dans des requetes sql

  5. #5
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    J'ai essayé mais ça marche pas
    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
    //enregistrement dans la table
    if (isset($_POST['inserer1'])) {
    	$monnom = mysql_real_escape_string($monnom);
        	$sql = "INSERT INTO couleurs(id_nom, nom, couleur, DateDebut, champ)
    		VALUES('', '$nom', '$couleur', '$date_debut', '$monnom')";
        		mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    		//récupération de l'id pour réafficher
    		$id_nom = mysql_insert_id();
    		$_POST['id_nom'] = $id_nom;
    }
    //modification des données enregistrées
    if (isset($_POST['modifier1'])) {
    	$monnom = mysql_real_escape_string($monnom);
    	$sql = "UPDATE couleurs SET nom = '$nom', couleur = '$couleur', DateDebut = '$date_debut' champ = '$monnom' WHERE id_nom = $id_nom";
    		mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    }

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Par défaut
    Tu as oublié une , avant champ.

    Donne les erreur sql a chaque fois ca sera plus simple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. UPDATE sur multiligne qui ne se fait pas
    Par Jiyuu dans le forum Langage SQL
    Réponses: 12
    Dernier message: 16/04/2015, 16h12
  2. [PDO] UPDATE qui ne se fait pas
    Par laurentSc dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/02/2015, 23h57
  3. [Ajax.NET]UpdataPanel.Update() qui ne se fait pas
    Par rad_hass dans le forum ASP.NET
    Réponses: 4
    Dernier message: 12/03/2009, 09h27
  4. [MySQL] Mysql Update qui ne fonctionne pas
    Par panoramix2 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/03/2009, 16h05
  5. [MySQL] UPDATE qui ne se fait pas
    Par VoteForMe dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/09/2008, 13h42

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