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 :

requete sql erreur introuvable [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Par défaut requete sql erreur introuvable
    Bonjour,

    J'ai un formulaire en méthode POST qui envoie des information dans ma base de donnée,

    le soucis et que apparemment j'ai une erreur de codage qui fait que je ne parviens pas à écrire dans la base de donnée,

    j'aurais besoins d'un œil expert qui pourrais me venir en aide dans mon erreur de codage en vous remerciant.

    mon formulaire page html :
    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
    <table align="center">
    <tr>
    <td >
    <form method="POST" action="salarie/add.php">
     
     <legend>Fiche de traçabilité metal d'apport.</legend> <br />
     <label for="date"> Date :</label>
    <input type="text" name="Date" size="20" value="<?php
     
    $jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
     
    $mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
     
    $datefr = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y");
     
    echo "".$datefr;
     
    ?> " maxlength="35">
    <br /> 
     <label for="Nom_operateur"> Nom_operateur :</label>
    <input type="text" name="nom" size="20" value="" maxlength="35"><br /> 
    <br />
    <label for="Nom_operateur"> Prenom_operateur :</label>
    <input type="text" name="prenom" size="20" value="" maxlength="35"><br />
    <br />
    <label for="Numero_OF ">Numero_OF :</label>
    <input type="text" name="Numero_OF" size="20" value="" maxlength="70"><br />
    <br />
    <label for="Numero_affaire">Numero_affaire:</label>
     <input type="text" name="Numero_affaire" size="20" value="" maxlength="30"><br />
    <br /> 
    <label for="Nature_alliage">Type_apport(acier,alu,etc) :</label>
    <input type="text" name="Nature_alliage" size="20" value="" maxlength="70"><br />
    <br />
    <label for="Procede_soudage">procedé de soudage(MIG,TIG):</label>
    <input type="text" name="Procede_soudage" size="20" value="" maxlength="30"><br />
    <br />
    <label for="Diametre_apport">Diametre_apport:</label>
    <input type="text" name="Diametre_apport" size="20" value="" maxlength="15"><br />
    <br />
    <label for="reference_coule">Numero de lot du pacquet:</label>
    <input type="text"name="reference_coule" size="20" value="" maxlength="40"><br />
    <br />
    <input type="submit" value="Envoyer" name="envoyer">
    </form>
    </td>
    </tr>
    </table>
    ----------------------------
    puis ma page de traitement php :
    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
     <?php
    // On commence par récupérer les champs
    if(isset($_POST['Date']))      $Date=$_POST['Date'];
    else      $Date="";
     
    if(isset($_POST['nom']))      $nom=$_POST['nom'];
    else      $nom="";
     
    if(isset($_POST['prenom']))      $prenom=$_POST['prenom'];
    else      $prenom="";
     
    if(isset($_POST['Numero_OF']))      $Numero_OF=$_POST['Numero_OF'];
    else      $Numero_OF="";
     
    if(isset($_POST['Numero_affaire']))      $Numero_affaire=$_POST['Numero_affaire'];
    else      $Numero_affaire="";
     
    if(isset($_POST['Nature_alliage']))      $Nature_alliage=$_POST['Nature_alliage'];
    else      $Nature_alliage="";
     
    if(isset($_POST['Procede_soudage']))      $Procede_soudage=$_POST['Procede_soudage'];
    else      $Procede_soudage="";
     
    if(isset($_POST['Diametre_apport']))      $Diametre_apport=$_POST['Diametre_apport'];
    else      $Diametre_apport="";
     
    if(isset($_POST['reference_coule']))      $reference_coule=$_POST['reference_coule'];
    else      $reference_coule="";
     
    // On vérifie si les champs sont vides
    if(empty($nom) OR empty($prenom) OR empty($Numero_OF) OR empty($Numero_affaire) OR empty($Nature_alliage) OR empty($Procede_soudage) OR empty($Diametre_apport) OR empty($reference_coule))
        {
        echo '<font color="red">Attention, vous devez remplir tous les champs !</font>';
        }
     
    // Aucun champ n'est vide, on peut enregistrer dans la table
    else     
        {
           // connexion à la base
    $db = mysqli_connect('localhost', 'root', '', 'pmtl_gestion_apport_fil')  or die('Erreur de connexion '.mysql_error());
    // sélection de la base  
     
        /*mysqli_select_db($db)  or die('Erreur de selection '.mysql_error());*/
     
        // on écrit la requête sql
        $sql = "INSERT INTO infos_tbl(Date, nom, prenom, Numero_OF, Numero_affaire, Nature_alliage, Procede_soudage, Diametre_apport, reference_coule) VALUES ('$Date','$nom','$prenom','$Numero_OF','$Numero_affaire','$Nature_alliage','$Procede_soudage','$Diametre_apport','$reference_coule')";
     
        // on insère les informations du formulaire dans la table
        mysqli_query($db,$sql) or die('<font color="red"><h2>Erreur SQL ! Veuillez signaler le probléme a votre responsable</h2></font>'.$sql.'<br>'.mysql_error());
     
        // on affiche le résultat pour le visiteur
        echo '<font color="green"><center><h2>Vos infos on été ajoutées.<br/>Merci.</h2></font></center>';
     
        mysqli_close($db);  // on ferme la connexion
        }
    	header("Refresh: 5 ; url= ../index.php");  //on retourne sur la page formulaire
    ?>
    L'erreur qui s'affiche sur ma page :
    Erreur SQL ! Veuillez signaler le probléme a votre responsable
    INSERT INTO infos_tbl(Date, nom, prenom, Numero_OF, Numero_affaire, Nature_alliage, Procede_soudage, Diametre_apport, reference_coule) VALUES ('Dimanche 25 Juin 2017 ','ramos','miguel','123456','2017/54/55','acier','MIG','1.2','12356847H')
    En vous remerciant d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour, et bienvenu sur DVP

    1/ la 1ère erreur, la plus grave, est de ne pas utiliser de requête préparée.

    2/ La 2ème est d'utiliser des noms de champs comme "Date", alors que c'est un mot réservé en SQL.
    • au minimum, il faut l'entourer de `...`,
    • au mieux, EVITER les mots réservés ("la_date", par exemple) !


    3/ on peut simplifier l'écriture, avec l'opérateur ternaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_POST['Date']))      $Date=$_POST['Date'];
    else      $Date="";
    s'écrit aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Date = ( isset($_POST['Date']) )? $_POST['Date'] : '';

    N.B. Je t'ai mis plusieurs liens : BONNE LECTURE

  3. #3
    Membre averti
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Par défaut
    merci je m'y hâte ^^.

  4. #4
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    @civodul88
    On ne sauvegarde jamais une date comme tu l'as fait. C'est ingérable si tu veux ensuite trier par date ou faire une recherche sur date.
    Il faut utiliser un champ de type date ou au pire un champ CHAR ou VARCHAR 8 ou 10 et stocker la date au format SSAAMMJJ ou SSAA-MM-JJ par exemple. 20170625 ou 2017-06-25.

  5. #5
    Membre averti
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Par défaut
    merci je vais changer ma table date

  6. #6
    Membre averti
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Par défaut resolu
    bon en fait j'ai trouver le soucis,
    à force de bidouiller dans mes table sql j'avais laisser une table que je n'appelle plus avec mon formulaire du coup j'obtenais une erreur.
    il me semble qu'il est possible de palier à ce soucis en créant des tables qui permettent que certain champs restent vide mais je ne sais pas comment on procede.voila je vous remercie pour la lecture des liens que vous m'avez filé, bye .

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

Discussions similaires

  1. [MySQL] Une variable dans une requette sql erreur syntaxe
    Par Tiny Buster dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 13/07/2008, 22h21
  2. Problème de requête SQL - Erreur 3122
    Par Kornikopic dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/06/2007, 10h57
  3. Problème: Erreur introuvable.
    Par FOX19881 dans le forum C
    Réponses: 5
    Dernier message: 26/07/2006, 17h20
  4. [SQL] erreur dans la requette SQL ou dans le code PHP
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 11/07/2006, 21h21
  5. probléme de requette SQL
    Par lassmust dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 06/07/2006, 18h23

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