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 requêtes SQL avec PHP et PhpMyAdmin [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 2
    Par défaut Soucis requêtes SQL avec PHP et PhpMyAdmin
    Bonjour,

    Je suis nouveau sur PHP, je maîtrise déjà Python et j'ai donc décidé de me lancer un peu dans PHP, j'ai donc un serveur MAMP et une base de donnée MySQL sur PhpMyAdmin, seulement voila, petit soucis, quand je cherche à ajouter des données dans cette base grâce à PHP rien ne se passe comme prévu. Tout d'abord je code sur PHPStorm et je n'ai pas réussi à ajouter la DB sur l'IDE, ensuite, quand je lance mon script PHP, rien ne se passe, mon code me retourne ma requête sans l'exécuter mais aucune idée de comment faire pour obtenir le message d'erreur associé, ce qui serait bien pratique pour débuger...

    Voici ci dessous mon code actuel :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <html lang = "fr">
        <head>
            <title>Calcul IMC </title>
            <?php
            include('fonctions.php')
            ?>
        </head>
        <body>
     
            <h1><b>Bonjour, bienvenue sur ce site de calcul d'IMC</b> </h1>
            <form name="IMC" method="POST" action="index.php">
                Entrez votre Pseudo : <input type="text" name="pseudo"/><br/>
                Garçon, Fille ou Non Binaire ?
                <input type="radio" name="sexe" value="G"/>Garçon
                <input type="radio" name="sexe" value="F"/>Fille
                <input type="radio" name="sexe" value="NB"/><br/>
                Entrez votre âge : <input type="text" name="age"/><br/>
                <input type="submit" name="valider" value="OK"/>
            </form>
            <?php
                $pseudo=$_POST['pseudo'];
                $age=$_POST['age'];
                $sexe=$_POST['sexe'];
     
                $date = date("d.m.y");
     
                $base = connectMaBase();
     
                $sql = 'INSERT INTO Utilisateurs (ID,pseudo,sexe,age,dateInscription) VALUES("",'.$pseudo.','.$sexe.','.$age.','.$date.')';
     
                if (mysqli_query($base, $sql)) {
                    echo "New record created successfully";
                } else {
                    echo "Error: " . $sql . "" . mysqli_error($base);
                }
            ?>
        </body>
    </html>

    Et pour ce qui est de ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function connectMaBase(){
        $base = mysqli_connect('local',"root",'root',"MaBase");
        return $base;
    }
    ?>

  2. #2
    Membre averti
    Homme Profil pro
    Technicien GC
    Inscrit en
    Juillet 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien GC
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2017
    Messages : 23
    Par défaut
    Bonjour,

    Alors tout d'abord tu devrais améliorer ta fonction afin de vérifier la présence d'erreurs lors de la connection à la base de donnée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //fonctions.php
    function connectMaBase(){
    $conn = mysqli_connect('local',"root",'root',"MaBase");
    // Check connection
    if (!$conn) {
       die("Connection failed: " . mysqli_connect_error());
    }
    Ensuite concernant ton code avec le formualaire, sachant que tout ton code se trouve dans une seul page (formulaire + requête INSERT), il faut que le modifie 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <html lang="fr">
     
    <head>
        <title>Calcul IMC </title>
        <?php
        include('fonctions.php')
        ?>
    </head>
     
    <body>
     
        <h1>Bonjour, bienvenue sur ce site de calcul d'IMC</h1>
        <form name="IMC" method="POST">
            Entrez votre Pseudo :
            <input type="text" name="pseudo" /><br />
            Garçon, Fille ou Non Binaire ?
            <input type="radio" name="sexe" value="G" />Garçon
            <input type="radio" name="sexe" value="F" />Fille
            <input type="radio" name="sexe" value="NB" />Non Binaire
            <br />
            Entrez votre âge :
            <input type="text" name="age" />
            <br />
            <input type="submit" name="valider" value="OK" />
        </form>
     
        <?php
        if (isset($_POST['submit'])) {
     
            //Connexion à la base de donnée grâce à la fonction.
            connectMaBase();
     
            $pseudo = $_POST['pseudo'];
            $age = $_POST['age'];
            $sexe = $_POST['sexe'];
            $date = new DateTime();
     
            // Insertion des données dans la bdd.
            $sql = 'INSERT INTO Utilisateurs (pseudo, sexe, age, dateInscription) 
                    VALUES(' . $pseudo . ', ' . $sexe . ', ' . $age . ', ' . $date . ')';
     
            // Vérification de la requête
            if (mysqli_query($conn, $sql)) {
                echo "New record created successfully";
            } else {
                echo "Error: " . $sql . "<br>" . mysqli_error($conn);
            }
     
            mysqli_close($conn);
     
            // Renvoi ensuite l'utilisateur vers la page index.php (par exemple).
            // header('Location: index.php');
        }
     
        ?>
    </body>
     
    </html>
    Concernant ton soucis de connection à ta base de donnée depuis ton IDE PhpStrom, je ne l'utlise pas mais ce que j'ai pu trouver en faisant une recherche rapide sur Google puis sur leur site, il y a je pense toute l'aide pour bien configurer => https://www.jetbrains.com/help/phpst...ase.html#mysql

    Je ne sais pas si tu suis des cours sur PHP/MysQL mais je te conseil de profiter de tous les cours disponible gratuitement afin de t'améliorer dans ce langage et apprendre les grandes bases.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 2
    Par défaut
    Bonjour,

    merci de ta réponse, alors je viens de tester tes modifications et voila le message d'erreur que cela me sort:

    Connection failed: php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known

    Pour ce qui est du Tuto, oui j'en suis un, https://sylvie-vauthier.developpez.c...ro-bdd#LVI-1-b, celui ci pour être précis, mais c'est un Tuto de PHP 5, or je suis sur PHP 7, du coup MySQL est passé à MySQLi, ce qui fait que je fouille un peu et fait surement des erreurs.

    Enfin pour ce qui est de la connection de ma Database à mon IDE, j'ai déjà pas mal chercher sur Internet, et notamment sur le lien que tu m'as envoyer, mais rien n'y fait, enfin je ne pense pas que cela soit très important, seulement du confort, mais dans le doute voici le message d'erreur : Connection to @localhost failed. [08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up.

    Merci d'avance.

    EDIT : J'ai réglé le soucis de connexion, j'avais écris 'local' au lieu de 'localhost', tout con, maintenant il me fait chier au niveau de la requête, et c'est le principal truc qui m'embête depuis le début:
    Error: INSERT INTO Utilisateurs (pseudo, sexe, age, dateInscription) VALUES(Artcann, G, 18, 19-04-27)
    Unknown column 'Artcann' in 'field list'
    Sachant que je n'ai pas rentré la colonne ID, puisqu'elle est censé s'auto-incrémenté

    EDIT 2: Après quelques bidouillage j'ai enfin réglé mon problème, ça venait du fait que je n'avais pas mis mes valeurs entre guillemet dans ma requête, merci beaucoup pour m'avoir montrer comment on affiche les erreurs, je marque le sujet en résolu, en espérant que cela aide d'autres personnes.

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

Discussions similaires

  1. Requête SQL avec REGEXP en PHP
    Par EkrazNeophite dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 31/03/2015, 00h21
  2. Requête sql en PHP avec BO
    Par hannibal974 dans le forum SDK
    Réponses: 2
    Dernier message: 17/06/2013, 12h53
  3. [AJAX] Requête SQL en php couplée avec AJAX
    Par Gannox dans le forum AJAX
    Réponses: 14
    Dernier message: 12/11/2012, 17h45
  4. Exécuter des requête SQL (avec ou sans PHP) dans javascript
    Par mir540 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/11/2009, 10h03
  5. [SQL] Comparer résultat d'une requête Sql avec php
    Par nicoxweb dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/09/2007, 22h46

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