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 :

problème d'insertion dans une base MySql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut problème d'insertion dans une base MySql
    Salut j'ai un soucis avec le morceau de code suivant, il fonctionne pas pour l'insertion, je ne reçois aucune erreur mais rien ne s'ajoute dans la table
    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
     
    <?php
    if (isset($_POST['save']))
    {
    $id=$_POST['nom'];
    $chap=$_POST['prenom'];
    $contenu=$_POST['adresse'];
    $datte=$_POST['tel'];
    $auteur=$_POST['email'];
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=abouchan_db', 'root', '');
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
     
    // On ajoute une entrée dans la table jeux_video
    $bdd->exec('INSERT INTO exercices(id, chap, contenu , datte, auteur) VALUES($id, $chap, $contenu, $datte, $auteur)');
     
    echo 'Le jeu a bien été ajouté !';
    }

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Je ne suis pas utilisateur de PDO mais dans une requête SQL, tu dois mettre les valeurs des champs qui ne sont pas de type entier entre des quotes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd->exec("INSERT INTO exercices(id, chap, contenu , datte, auteur) VALUES('$id', '$chap', '$contenu', '$datte', '$auteur')");
    A+.

  3. #3
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Je ne sais pas si celà va apporter plus que le post de Andry.Aime pour le exec, mais je suis pas sûr que ta requête interprétera les valeurs comme $is

    Avec Pdo, il y a qd même l'avantage d'utiliser la méthode prépare cela évite le problème de simple ou double quote ... je préférerais donc ce style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $requete=$connexion->prepare('INSERT INTO MaTable VALUES(:champ1, :champ2, :champ3)');
     
    $requete->exec(array(":champ1" => $valeur1, ":champ2" => $valeur2, ":champ3" => $valeur3));

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par Fench Voir le message
    Avec Pdo, il y a qd même l'avantage d'utiliser la méthode prépare cela évite le problème de simple ou double quote ...
    Les requêtes préparées évitent aussi les injections SQL.

    A+.

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Ouuuuuiiii, c'est vrai que celà fait plusieurs fois que j'entends 'injection SQL' et du coup j'ai cherché un peu ET compris le quoi que c'est

    Tu as un exemple simple mais bien en rapport avec les quotes sur wiki ici ... dans un sens Pdo et la méthode prepare n'est pas fait pour rien

    Hop une chose de plus apprise, merci

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

Discussions similaires

  1. problème d'insertion dans une base MySql
    Par cerco1 dans le forum JDBC
    Réponses: 13
    Dernier message: 01/10/2007, 20h40
  2. Problème d'insertion dans une base de donnèes
    Par atout dans le forum Administration
    Réponses: 14
    Dernier message: 27/12/2006, 07h07
  3. [VB.NET][MySQL]ID insertion dans une base MySQL par ODBC
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/03/2006, 10h58
  4. problème d'insertion dans une base de données
    Par belmansour tidjani dans le forum JDBC
    Réponses: 7
    Dernier message: 18/01/2006, 22h13
  5. Problème d'insertion dans une table MYSQL
    Par greg69 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/10/2005, 11h34

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