Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fatal error: Uncaught PDOException: SQLSTATE[42000

    19 octobre 2020 à 11:22:22

    Bonjour, voilà je suis embêté avec une base de donnée simple que j'essaie de mettre en place depuis ce matin pour mon portfolio. J'ai l'erreur : Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 

    pour ce code :

    <?php
    
    $connection = new PDO ("mysql:host=localhost;dbname=email; port=3308", 'root', 'root', array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
    
    
        $mail = $_POST['mail'];
        $objet = $_POST['objet'];
        $message = $_POST['texte'];
    
        echo $mail;
        echo $objet;
        echo $message;
    
        $stock = $connection -> query("INSERTINTO'table_email'('MAIL', 'OBJET', 'MESSAGE') VALUES ($mail, $objet, $message)");
    
    ?>
    

    Merci de votre aide

    -
    Edité par Benzouye 19 octobre 2020 à 15:08:26

    • Partager sur Facebook
    • Partager sur Twitter
      19 octobre 2020 à 11:24:49

      On ne met pas de ' autour d'un nom de table ou colonne.

      Et prépare ta requête, il manque les quotes pour le SQL (que tu n'aurais pas à mettre en préparé), tu as là des injections SQL et/ou elle planterait à la moindre quote parmi les données.

      (reprendre le cours php/mysql d'ici par exemple si besoin, elles y sont traitées)

      -
      Edité par julp 19 octobre 2020 à 11:26:04

      • Partager sur Facebook
      • Partager sur Twitter
        19 octobre 2020 à 11:44:36

        Bonjour,

        Manque de recherche

        La question que vous posez est très fréquente, cela démontre un manque de recherche évident. Internet et ce forum fourmillent de ressources répondant à votre besoin.

        Je vous invite à effectuer de vraies recherches qui sont à la base d'un bon apprentissage…

        Mauvais titre

        Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.

        Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).

        De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.

        Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.

        À noter que vous êtes la 8e personne à avoir choisi ce titre ;)

        Pour modifier votre titre, éditez le premier message de votre sujet.

        (titre originel : Fatal error: Uncaught PDOException: SQLSTATE[42000)

        • Partager sur Facebook
        • Partager sur Twitter

        Pas d'aide concernant le code par MP, le forum est là pour ça :)

          19 octobre 2020 à 14:59:02

          Bonjour julp, oui je me suis posé la question des quotes mais j'ai essayé avec ou sans c'est le même résultat. L'erreur ne vient pas de là... Merci de ta réponse toutefois !

          Lemecarlate : J'ai cherché sur d'autres posts croyez moi bien que ça ne m'a pas aidé car chacun son cas. Puisque mon poste vous dérange je vais le retirer et me débrouiller. Merci beaucoup "modérateur" !

          -
          Edité par lecomteremy37 19 octobre 2020 à 15:02:30

          • Partager sur Facebook
          • Partager sur Twitter
            19 octobre 2020 à 15:22:44

            Bonjour,

            lecomteremy37 a écrit:

            Puisque mon poste vous dérange

            Personne n'a dit qu'il dérangeait ... juste qu'il ne respectait pas certaines règles du forum, et lamecarlate a oublié de préciser que tu n'avais pas utilisé les balises de code :p

            Et tu n'as pas éditer le titre du message comme demandé par Lameclarlate.

            Et tu as marqué le sujet résolu sans préciser comment ?

            Oui, c'est parfois un peu dur d'être piqué dans son amour propre ...

            Sinon, comme tu n'as pas posté l'intégralité de l'erreur ce n'était pas très facile de t'aider ... cependant il devrait y avoir un espace entre INSERT et INTO ...

            -
            Edité par Benzouye 19 octobre 2020 à 15:24:29

            • Partager sur Facebook
            • Partager sur Twitter
            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

            Fatal error: Uncaught PDOException: SQLSTATE[42000

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown