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 :

Insertion de données avec PHP et MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 10
    Points : 12
    Points
    12
    Par défaut Insertion de données avec PHP et MySQL
    Bonjour,

    Afin de classer et gérer facilement des Outils pour Commandes Numériques je souhaiterais utiliser une base de données MySQL sur un serveur web.
    Afin de tester et d'améliorer le code, j'utilises WAMP Server en local.

    J'ai donc afin d'insérer les outil un formulaire simple constitué de input et de menu déroulants :

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    <form name="addTools" action="SQL_command.php" method="POST">
    	<table border="0" align="center" cellspacing="2" cellpadding="2">
     
    <!--- Tool Name--->
        <tr align="center">
    	<td>
    	<input type="text" name="ToolID" placeholder="Nom de l'Outil" style="width: 400px; height: 30px;">
    	</td>
        </tr>
    <!--- End Tool Name--->
     
     
    <!--- Tool Type--->
    	<tr align="center">
    		<td>
    		<form>
    			<select name="ToolType" style="width: 400px; height: 30px;">
    			<option>Type Outil
    			<option>Percage
    			<option>Fraisage
    			<option>Contre-Profilage
    		</form>
    		</td>
    	</tr>
    <!--- End Tool Type--->
     
     
    <!--- Turning Direction --->
    	<tr align="center">
    		<td>
    		<form>
    			<select name="TurningDirection" style="width: 400px; height: 30px;">
    			<option>Sens de Rotation
    			<option>Gauche
    			<option>Droite
    		</form>
    	</tr>
    <!--- End Turning Direction --->
     
     
    <!--- Tool Diameter --->
    	<tr align="center">
    		<td>
    			<input type="number" name="ToolDiameter" placeholder="Diametre de l'Outil" style="width: 400px; height: 30px;">
    		</td>
    	</tr>
    <!--- End Tool Diameter --->
     
    <!--- Tool Stuff --->
    	<tr align="center">
    		<td>
    		<form>
    			<select name="ToolStuff" style="width: 400px; height: 30px;">
    			<option>Matiere de l'Outil
    			<option>HSS
    			<option>Diamant
    		</form>
    	</tr>
    <!--- End Tool Stuff --->
     
    <!--- Till ID --->
    	<tr align="center">
    		<td>
    		<form>
    			<select name="TillID" style="width: 400px; height: 30px;">
    			<option>Tiroir ID
    			<option>Tiroir A
    			<option>Tiroir B
    			<option>Tiroir C
    			<option>Tiroir D
    			<option>Tiroir E
    			<option>Tiroir F
    		</form>
    	</tr>
    <!--- End Till ID --->
     
    	</table>
    </form>
    Cette page renvoi alors sur une autre qui exécute les commandes SQL :

    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
     
    <?php
     
    // Connexion à la base de données.
    include("DB_Connect.php");
     
    // Récupération des informations.
     $ToolID=isset($_POST['ToolID'])?$_POST['ToolID']:"";
     $ToolType=isset($_POST['ToolType'])?$_POST['ToolType']:"";
     $TurningDirection=isset($_POST['TurningDirection'])?$_POST['TurningDirection']:"";
     $ToolDiameter=isset($_POST['ToolDiameter'])?$_POST['ToolDiameter']:"";
     $ToolStuff=isset($_POST['ToolStuff'])?$_POST['ToolStuff']:"";
     $TillID=isset($_POST['TillID'])?$_POST['TillID']:"";
     
     $ToolID=$mysqli->real_escape_string(strip_tags($ToolID));
     $ToolType=$mysqli->real_escape_string(strip_tags($ToolType));
     $TurningDirection=$mysqli->real_escape_string(strip_tags($TurningDirection));
     $ToolDiameter=$mysqli->real_escape_string(strip_tags($ToolDiameter));
     $ToolStuff=$mysqli->real_escape_string(strip_tags($ToolStuff));
     $TillID=$mysqli->real_escape_string(strip_tags($TillID));
     
     $exec=$mysqli->query("insert into toolsdb (ToolID,ToolType,TurningDirection,ToolDiameter,ToolStuff,TillID) values ('$ToolID','$ToolType','$TurningDirection','$ToolType','$ToolDiameter','$ToolStuff','$TillID')");
     
     if ($exec)
        {
            echo "L'outil à été ajouté à la base de données.";
        }
     else {
            echo "Problème de connexion à la base de données.";
        }
    ?>
    Qui include une page de connexion à la base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    $serveur = 'localhost';
    $database = 'toolsdb';
    $username = 'root';
    $password = '';
    $mysqli = new mysqli($serveur,$username,$password,$database);
    if ($mysqli->connect_errno) {
        printf("Échec de la connexion : %s\n", $mysqli->connect_error);
        exit();
    }
    ?>
    Hors, pas moyens d'ajouter l'outil à la base de donnée... rien n'y fais.
    je tiens à préciser que je ne suis pas développeur et me suis aidé de code déjà existant sur internet.

    Auriez vous une solution ?

    Cordialement,
    Gian B.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 209
    Points : 167
    Points
    167
    Par défaut
    Bonjour,

    6 colonnes sont attendues :

    (ToolID,ToolType,TurningDirection,ToolDiameter,ToolStuff,TillID)

    Et 7 valeurs sont transmises :


    values ('$ToolID','$ToolType','$TurningDirection','$ToolType','$ToolDiameter','$ToolStuff','$TillID')
    la requête n'aboutira pas.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Oui, merci beaucoup je pense que j'aurais cherché longtemps sans prêter attention à cette erreur.

    Si tu pouvais encore m'aider, maintenant que l'outil est inséré avec succès dans la base de données,
    son diamètre n'est pas reconnu et prend toujours une valeur égale à 0. Auriez vous une idée ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 209
    Points : 167
    Points
    167
    Par défaut
    Je n'ai pas regardé ton formulaire avec attention tout à l'heure.
    Je viens de remarquer que tu as des balises <form> <form> </form> </form> imbriquées l'une dans l'autre.


    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
     
    <form name="addTools" action="SQL_command.php" method="POST">
        ...
            <form>
                ...
            </form>
            ...
            <form>
                ...
            </form>
        ...
            <form>
                ...
            </form>
        ...
            <form>
                ...
            </form>
    </form>
    Soit tu tu soumets tout en même temps dans le même formulaire, soit dans des formulaires séparés mais jamais imbriqués.
    Dans ton cas, je pense que, tu dois soumettre tout les champs ( une seule fois : <form> ... tout ce que tu veux soumettre... </form>).


    Puis, il y a beaucoup de balises non fermées. Des </td>, des </select>, </option> ...

    Je ne sais pas comment quel doctype tu utilises mais là ton navigateur interprète ce qu'il veut bien comprendre.

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

Discussions similaires

  1. Entreposage de donnée avec PHP/MYSQL ?
    Par DevKast dans le forum Forum général Business Intelligence
    Réponses: 2
    Dernier message: 29/04/2015, 15h35
  2. probleme insertion date avec php et mysql
    Par fou-jea dans le forum Langage
    Réponses: 13
    Dernier message: 06/10/2012, 21h57
  3. Réponses: 4
    Dernier message: 30/03/2007, 18h42
  4. Réponses: 2
    Dernier message: 14/05/2004, 14h32

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