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 :

Mon INSERT INTO ne fonctionne pas à l'aide


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2016
    Messages : 69
    Points : 64
    Points
    64
    Par défaut Mon INSERT INTO ne fonctionne pas à l'aide
    Bonjour,

    Je suis en train de développer une application web et j'ai un petit souci sur mon code php.

    J'ai une méthode ajouter de ma classe Theme qui ajoute dans ma base de donnée un thème avec son ID (en auto increment) et son libellé.

    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
    <?php
     
    class Theme
    {
        private $id_theme;
        private $libelle;
        private $bdd;
     
        public function __construct($libelle, Bdd $bdd){
            $this->libelle = $libelle;
            $this->bdd = $bdd->getBdd();
        }
     
        public function ajouter(){
            $req = $this->bdd->prepare("INSERT INTO theme (LIBELLE) VALUES=(?)");
            $req->bindParam(1, $this->libelle);
            $req->execute();
     
        }
     
    }


    Quand je teste la fonctionnalité ajouter d'un object Theme il ne m'insère rien dans la base de donnée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    require('../classes/Bdd.php');
    require '../classes/Theme.php';
     
     
    $bdd = new Bdd();
     
    $theme = new Theme("Le corps humain",$bdd);
     
    $theme->ajouter();

    (Pour le tester j’exécute ma page teste sur le serveur comme il n'y a pas de méthode main en php).

    Résultat :

    Nom : res.PNG
Affichages : 91
Taille : 8,1 Ko



    Alors le problème ne vient pas de ma connexion à la base de donnée ni ma classe Bdd car j'ai effectué un test avec un SELECT SQL et j'arrive à avoir les informations que je souhaite :

    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
     
    class Theme
    {
        private $id_theme;
        private $libelle;
        private $bdd;
     
        public function __construct($libelle, Bdd $bdd){
            $this->libelle = $libelle;
            $this->bdd = $bdd->getBdd();
        }
     
        public function ajouter(){
            $req = $this->bdd->prepare("INSERT INTO theme (LIBELLE) VALUES=(?)");
            $req->bindParam(1, $this->libelle);
            $req->execute();
        }
     
     
        public function testSelect(){
            $test= $this->bdd->prepare("SELECT * FROM theme");
            $test->execute();
            var_dump($test->fetchAll());
        }
     
    }


    Le fichier test que j'execute sur le serveur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    require('../classes/Bdd.php');
    require '../classes/Theme.php';
     
     
    $bdd = new Bdd();
     
    $theme = new Theme("Mathématiques",$bdd);
     
    $theme->testSelect();

    Résultat :

    Nom : res2.PNG
Affichages : 93
Taille : 7,3 Ko



    Voila j'ai cherché sur le net mais je ne trouve pas un sujet sur mon problème. Votre aide est donc la bienvenue. Merci .

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Inutile de mettre 15km de code et de blabla.

    Les 3 lignes de la requete suffisent a voir qu'il y a un = en trop :

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2016
    Messages : 69
    Points : 64
    Points
    64
    Par défaut Merci ça fonctionne
    J'ai passé des heures hier pour ça !

    Bref en tout cas merci.

    Mais je ne comprends toujours pas pourquoi le serveur ne m'affiche pas d'erreur SQL alors.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ambi86 Voir le message
    ...je ne comprends toujours pas pourquoi le serveur ne m'affiche pas d'erreur SQL alors.
    Parce que tu ne lui a pas demandé.

    Il faut mettre des try catch autour des requêtes.


  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2016
    Messages : 69
    Points : 64
    Points
    64
    Par défaut Try catch
    D'accord merci je vais le mettre à chaque fois maintenant.

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

Discussions similaires

  1. [MySQL] mon insert into ne fonctionne pas
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/07/2010, 10h36
  2. [MySQL] insert into ; ne fonctionne pas dans mon form
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/07/2010, 17h22
  3. [MySQL] requête INSERT INTO ne fonctionne pas
    Par quiky dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/10/2009, 15h41
  4. [MySQL] pourquoi insert into ne fonctionne pas
    Par Philcmoi dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/10/2009, 14h38
  5. [WD11] Insert Into ne fonctionne pas
    Par IdrilElendil dans le forum WinDev
    Réponses: 4
    Dernier message: 04/04/2007, 16h03

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