Partage
  • Partager sur Facebook
  • Partager sur Twitter

Message d'erreur MYSQL

    17 septembre 2021 à 11:46:38

    Bonjour à tous !

    Alors voilà, j'ai fait un script basique pour créer une table en PHP à partir d'un formulaire HTML.

    En voici le code: 

    <html>
    <head>
    <title>Création de table</title>
    <style text="text/css">
    table {
        border: 2px solid black;
    }
    th {
        background-color: #6DFF00;
        font-family: Verdana;
        padding: 5px;
        letter-spacing: 2px;
    }
    td {
        padding: 10px;
    }
    h1 {
    background-color: #6DFF00;
    border: 2px solid black;
    padding: 5px;
    letter-spacing: 2px;
    }
    </style>
    </head>
    <?php
    
    $nomtable=$_POST['nomtable'];
    $nomchamp1=$_POST['nomchamp1'];
    $typechamp1=$_POST['typechamp1'];
    $taillechamp1=$_POST['taillechamp1'];
    $nomchamp2=$_POST['nomchamp2'];
    $typechamp2=$_POST['typechamp2'];
    $taillechamp2=$_POST['taillechamp2'];
    $nomchamp3=$_POST['nomchamp3'];
    $typechamp3=$_POST['typechamp3'];
    $taillechamp3=$_POST['taillechamp3'];
    
    if(!empty($_POST['nomtable']) && !empty($_POST['nomchamp1']) && !empty($_POST['typechamp1']) && !empty($_POST['taillechamp1'])) {
    
    $connexion=mysqli_connect("localhost","root","","Test2");
    $requete="CREATE TABLE Coconut (ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,$nomchamp1 $typechamp1($taillechamp1),$nomchamp2 $typechamp2($taillechamp2),$nomchamp3 $typechamp3($taillechamp3))";
    $requete1=$connexion->query($requete);
    echo "<center><h1>Création de table.</h1></center>";
    
    } else {
    
    echo "<center><h1>Création de table.</h1></center>";
    
    }
    
    ?>
    <body>
    <form action="<?PHP $_SERVER['SCRIPT_NAME']; ?>" method="POST">
    <center><table><tr><th>NOM DE LA TABLE</th><th>NOM DU CHAMP</th><th>TYPE DE CHAMP</th><th>TAILLE DE CHAMP</th></tr>
    <tr><td><input type="text" name="nomtable"></td><td></td><td></td><td></td></tr>
    <tr><td></td><td><input type="text" name="nomchamp1"></td><td><input type="text" name="typechamp1"></td><td><input type="text" name="taillechamp1"></td></tr>
    <tr><td></td><td><input type="text" name="nomchamp2"></td><td><input type="text" name="typechamp2"></td><td><input type="text" name="taillechamp2"></td></tr>
    <tr><td></td><td><input type="text" name="nomchamp3"></td><td><input type="text" name="typechamp3"></td><td><input type="text" name="taillechamp3"></td></tr>
    <tr><td><center><input type="submit" name="Envoyer"></center></td></tr>
    </table></center></form>
    
    </body>
    
    </html>

    Le script fonctionne !
    La base de données est bien créée. 
    En revanche, à chaque fois que je vais sur phpMyAdmin, j'ai cette erreur qui s'affiche:

    Notice in .\templates\table\structure\display_table_stats.phtml#4
    Undefined index: TABLE_COMMENT

    Backtrace

    .\libraries\Template.php#152: include(.\templates\table\structure\display_table_stats.phtml)
    .\libraries\controllers\table\TableStructureController.php#1381: PMA\libraries\Template->render(array)
    .\libraries\controllers\table\TableStructureController.php#1255: PMA\libraries\controllers\table\TableStructureController->getTableStats()
    .\libraries\controllers\table\TableStructureController.php#356: PMA\libraries\controllers\table\TableStructureController->displayStructure(
    array,
    array,
    array,
    ,
    array,
    array,
    )
    .\tbl_structure.php#47: PMA\libraries\controllers\table\TableStructureController->indexAction()

    Je vois bien que cela semble lié à l'index pourtant j'en ai crée un il me semble avec ID PRIMARY_KEY...
    J'ai beau chercher sur Google avec cette erreur, je ne trouve pas grand chose.

    Est-ce que quelqu'un aurait une idée d'où cela provient et comment régler le souci? Merci !!

    • Partager sur Facebook
    • Partager sur Twitter
      17 septembre 2021 à 12:00:13

      Si c'est une erreur qui s'affiche dans phpMyAdmin, tu n'y peux rien, mets-le à jour ou désactive les erreurs (display_errors et/ou error_reporting) pour phpMyAdmin (uniquement).

      • Partager sur Facebook
      • Partager sur Twitter
        17 septembre 2021 à 17:05:58

        Salut julp ! 

        Merci de ta réponse :) 

        Je vois mais tu ne penses pas que cette erreur pointe du doigt quelque chose que j'aurais à corriger ? J'ai l'impression que ma base de données est faite correctement, toutefois je me dis qu'il y a peut-être une erreur quelque part du coup...
        • Partager sur Facebook
        • Partager sur Twitter
          17 septembre 2021 à 17:22:56

          Tu as écrit phpMyAdmin ? Non ! Donc ce n'est pas à toi de corriger quoi que ce soit.

          phpMyAdmin a régulièrement des erreurs de code diverses, il faut dire que ce n'est pas forcément évident à gérer aussi si la version de PHP est trop récente ou trop vieille (exemple : faire tourner une vieille version de phpMyAdmin sous une version récente de PHP ou inversement risque de lever des erreurs voir de ne pas fonctionner). Sans oublier que les versions et configurations de MySQL peuvent jouer ou encore que ton serveur MySQL peut en fait être un fork (MariaDB notamment) qui peut encore en plus diverger sur certains aspects.

          Tes code et table ne sont pas en cause. C'est phpMyAdmin qui est en cause et à part tenter de le mettre à jour (il est probable qu'une version plus récente de pma le corrige) ou reconfigurer ton serveur pour ignorer ses erreurs, il n'y a pas de solution (à moins vraiment que tu te sentes de modifier le code de pma)

          (idéalement, dans la configuration d'Apache, il doit y avoir un bloc Directory qui correspond au répertoire d'installation de phpMyAdmin, y ajouter une ligne php_value error_reporting 32759 et/ou php_flag display_errors off - un .htaccess avec la(les) même(s) ligne(s) pourrait aussi fonctionner mais à éviter si possible)

          -
          Edité par julp 17 septembre 2021 à 20:03:44

          • Partager sur Facebook
          • Partager sur Twitter
            17 septembre 2021 à 19:47:48

            D'accord, ça marche ! Merci beaucoup à toi.
            • Partager sur Facebook
            • Partager sur Twitter

            Message d'erreur MYSQL

            × 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