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 :

Soucis insertion dans BD [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut Soucis insertion dans BD
    Bonjour à tous, j'ai un petit soucis lors de l'insertion de données dans ma base MYSQL

    J'ai ce code qui récupere mes données de formulaires et doit les inserer dans ma base.

    Mon soucis est que je n'ai aucun message d'erreure, mais que mes données ne sont pas modifier. :s

    J'ai essayé de faire un echo $upgrade; pour tester ma requete directement dans phpmyadmin, elle fonctionne.

    Je ne comprend donc pas d'ou peut venir mon erreur !

    Merci pour votre petit coup de main.

    Cordialement


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    $id = htmlentities(mysql_escape_string($_POST['id']));
    $titre = htmlentities(mysql_escape_string($_POST['titre']));
    $content = htmlentities(mysql_escape_string($_POST['content']));
    $date = htmlentities(mysql_escape_string($_POST['date']));
     
    $update = 'UPDATE articles SET  id  ="' . $id . '", 
        titre ="' . $titre . '", content ="' . $content . '", date="' . $date . '"
            WHERE id=' . $id; 
    mysql_query($update);
    header('Location: index.php');
    ?>

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Si id est un entier, inutile de l'entourer d'apostrophes dans la reqête et il serait plus judicieux d'utiliser intval($_POST['id']).

    Et d'ailleurs, pourquoi mettre à jour id puisque c'est la ligne recherchée par le WHERE.

    Quant à mysql_escape_string, c'est une fonction obsolète ; il vaut mieux utiliser mysql_real_escape_string.

    Enfin, les valeurs textuelles s'entourent de guillemets, pas d'apostrophes. Je crois que MySQL accepte les deux mais j'aurais plutôt écrit ce code ainsi :

    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
    <?php
     
    $id = htmlentities(intval($_POST['id']));
    $titre = htmlentities(mysql_real_escape_string($_POST['titre']));
    $content = htmlentities(mysql_real_escape_string($_POST['content']));
    $date = htmlentities(mysql_real_escape_string($_POST['date']));
     
    $update = "
    	UPDATE articles 
    	SET  titre = '".$titre."', 
    		content = '".$content."', 
    		date = '".$date."'
    	WHERE id = ".$id
    ; 
    mysql_query($update);
    header('Location: index.php');
    ?>
    Pour le reste, la requête semble correcte
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut
    J'ai bien pris note de tes divers remarques.
    Apres test, je n'ai toujours pas d'update effectif...la requete semble bien passer, mais l'UPDATE ne met pas à jour le contenu

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Le plus simple, c'est sans doute de désactiver temporairement la redirection et d'afficher l'éventuelle erreur (sans oublier de revenir à la version normale lorsque la requête fonctionnera )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $result = mysql_query($update); 
    if ($result === false) {
      die ('Erreur sur : '.$update.'<br/>'.mysql_error());
    }
    //header('Location: index.php');
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut
    Je te remercie c'est bien le MYSQL_error qu'il me fallait ! Avec une jolie "No database selected"


    Erreur stupide merci à toi

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

Discussions similaires

  1. [Débutant] Souci insertion dans une table contenant 2 clés étrangères MySql/C#
    Par Mac Chouffe dans le forum C#
    Réponses: 15
    Dernier message: 17/06/2015, 16h29
  2. Soucis d'insertion dans BDD
    Par planeurbret dans le forum VB.NET
    Réponses: 1
    Dernier message: 11/12/2011, 20h17
  3. Soucis d'insertions dans un vector<>
    Par BigWill dans le forum SL & STL
    Réponses: 6
    Dernier message: 14/09/2007, 15h34
  4. [hibernate] souci à l'insertion dans ma base
    Par mehdi_swatch dans le forum Hibernate
    Réponses: 1
    Dernier message: 24/05/2006, 05h57
  5. [MySQL] Soucis avec une insertion dans une base
    Par Ludo75 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 27/01/2006, 14h03

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