Erreur sur programme PHP / UPDATE base de données MySQL [Résolu]

Signaler
Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021
-
Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021
-
Bonjour,

J'ai une erreur dans mon programme PHP, pouvez vous m'expliquer?

Par le moyen d'un formulaire, j'envoie des données avec la methode POST, qui apparement arrive bien, mais le traitement provoque une alarme:

ECHEC : SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

Ci dessous le programme PHP.
Merci d'avance.

Configuration: Windows / Firefox 83.0


<?php
header("Content-Type: application/json; charset=UTF-8");

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);


$V0=$V1=$V2=$V3=$V4=$V5=$V6=$V7=$V8=$V9=$V10=$V11=$V12=
$V13=$V14=$V15=$V16=$V17=$V18=$V19=$V20=$V21=$V22=$V23="";

try{     
        
            function cleanData($dataToClean){
                $dataToClean = trim($dataToClean);
                $dataToClean = stripslashes($dataToClean);
                $dataCleaned = htmlspecialchars($dataToClean);
                return $dataCleaned;
            }
            
            $V0 = cleanData($_POST["IdM2"]);                                  
            $V1 = cleanData($_POST["refMagM2"]);
    echo 'variable id = '.$V0;
    echo $V1;            
            $V2 = cleanData($_POST["familleOutil"]);
            $V3 = cleanData($_POST["SousFamille"]);
            $V4 = cleanData($_POST["Matiere"]);
            $V5 = cleanData($_POST["NbreZ"]);
            $V6 = cleanData($_POST["Dia1"]);
            $V7 = cleanData($_POST["Long1"]);
            $V8 = cleanData($_POST["Dia2"]);
            $V9 = cleanData($_POST["Dia3"]);
            $V10 = cleanData($_POST["LongUtile"]);
            $V11 = cleanData($_POST["LongTotale"]);
            $V12 = cleanData($_POST["Caract1"]);
            $V13 = "Caract2";
            $V14 = cleanData($_POST["Fournisseur"]);
            $V15 = cleanData($_POST["Ref_Fournisseur"]);
            $V16 = cleanData($_POST["Prix"]);
            $V17 = cleanData($_POST["QteMini"]);
            $V18 = cleanData($_POST["CasEmploi1"]);
            $V19 = cleanData($_POST["CasEmploi2"]);
            $V20 = cleanData($_POST["CasEmploi3"]);
            $V21 = cleanData($_POST["CasEmploi4"]);
            $V22 = cleanData($_POST["CasEmploi5"]);
            $V23 = cleanData($_POST["CasEmploi6"]);

//--------------------------------------------------------------------------//
//connexion à la bdd
//--------------------------------------------------------------------------//
   require_once "cnxbdd.php";
    
                
    $requete = $connexion->prepare(
        "UPDATE cutting_tools_01 SET(SOUS_FAMILLE=:FAMILLE_OUTIL,MATIERE_OUTIL=:MATIERE_OUTIL,NBRE_Z=:NBRE_Z,
         DIA_1=:DIA_1,LONGUEUR_1=:LONGUEUR_1,DIA_2=:DIA_2,DIA_3:DIA_3,LONG_UTILE=:LONG_UTILE,LONG_TOTALE=:LONG_TOTALE,
         CARACT_1=:CARACT_1,CARACT_2=:CARACT_2,FOURNISSEUR=:FOURNISSEUR,REF_FOURNISSEUR=:REF_FOURNISSEUR,
         PRIX=:PRIX,QTE_MINI=:QTE_MINI,CAS_EMPLOI_1=:CAS_EMPLOI_1,CAS_EMPLOI_2=:CAS_EMPLOI_2,CAS_EMPLOI_3=:CAS_EMPLOI_3,
         CAS_EMPLOI_4=:CAS_EMPLOI_4,CAS_EMPLOI_5=:CAS_EMPLOI_5,CAS_EMPLOI_6=:CAS_EMPLOI_6)
         WHERE id=$V0");
                 
        $requete->bindParam(':id', $V0);    
        $requete->bindParam(':REF_MAG', $V1);
        $requete->bindParam(':FAMILLE_OUTIL', $V2);
        $requete->bindParam(':SOUS_FAMILLE', $V3);
        $requete->bindParam(':MATIERE_OUTIL', $V4);
        $requete->bindParam(':NBRE_Z', $V5);
        $requete->bindParam(':DIA_1', $V6);
        $requete->bindParam(':LONGUEUR_1', $V7);
        $requete->bindParam(':DIA_2', $V8);
        $requete->bindParam(':DIA_3', $V9);
        $requete->bindParam(':LONG_UTILE', $V10);
        $requete->bindParam(':LONG_TOTALE', $V11);    
        $requete->bindParam(':CARACT_1', $V12); 
        $requete->bindParam(':CARACT_2', $V13);      
        $requete->bindParam(':FOURNISSEUR', $V14);
        $requete->bindParam(':REF_FOURNISSEUR', $V15);
        $requete->bindParam(':PRIX', $V16); 
        $requete->bindParam(':QTE_MINI', $V17);                  
        $requete->bindParam(':CAS_EMPLOI_1', $V18);
        $requete->bindParam(':CAS_EMPLOI_2', $V19);         
        $requete->bindParam(':CAS_EMPLOI_3', $V20); 
        $requete->bindParam(':CAS_EMPLOI_4', $V21);                    
        $requete->bindParam(':CAS_EMPLOI_5', $V22);
        $requete->bindParam(':CAS_EMPLOI_6', $V23);


        // execute the query
        $requete->execute();           
}
            
catch(PDOException $e){
            echo 'ECHEC  : ' .$e->getMessage();
        }  

?>



6 réponses

Messages postés
31042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 janvier 2021
3 182
Bonjour,

Déjà, comme le dit le message, tu as un nombre de paramètres dans ta requête (22) différents du nombre de variables que tu bind (24 )
En plus, tu as des parenthèses en trop dans ta requête... il faut les retirer !


Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021

Bonjour Jordane,

1° )Quelle parenthèse en trop?

2°) Même en supprimant les 2 premiers paramètres , j' obtient toujours cette alarme.
ECHEC : SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

JCT
Messages postés
31042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 janvier 2021
3 182
Les parenthèses qui entourent ton SET
 SET( ..... ) WHERE 


Et pour les paramètres... sans voir ce que tu as modifié impossible de te répondre.
Il faut bien que tu aies le même nombre entre tes bind et les variables de ta requête.

pour plus de lisibilité, je t'invite, au passage, à ne pas hésiter à faire un retour à la ligne devant chaque variable dans ta requête SQL
UPDATE cutting_tools_01 
  SET SOUS_FAMILLE=:FAMILLE_OUTIL
    ,MATIERE_OUTIL=:MATIERE_OUTIL
    ,NBRE_Z=:NBRE_Z
    ,DIA_1=:DIA_1
    ,LONGUEUR_1=:LONGUEUR_1
    ,DIA_2=:DIA_2
    ,DIA_3:DIA_3
    ,LONG_UTILE=:LONG_UTILE
    ,LONG_TOTALE=:LONG_TOTALE
    ,CARACT_1=:CARACT_1
    ,CARACT_2=:CARACT_2
    ,FOURNISSEUR=:FOURNISSEUR
    ,REF_FOURNISSEUR=:REF_FOURNISSEUR
    ,PRIX=:PRIX
    ,QTE_MINI=:QTE_MINI
    ,CAS_EMPLOI_1=:CAS_EMPLOI_1
    ,CAS_EMPLOI_2=:CAS_EMPLOI_2
    ,CAS_EMPLOI_3=:CAS_EMPLOI_3
    ,CAS_EMPLOI_4=:CAS_EMPLOI_4
    ,CAS_EMPLOI_5=:CAS_EMPLOI_5
    ,CAS_EMPLOI_6=:CAS_EMPLOI_6
WHERE id=$V0");


Dans ce que je vois.. ce sont ces deux là qui posent problème
$requete->bindParam(':REF_MAG', $V1);
$requete->bindParam(':SOUS_FAMILLE', $V3


je pense également que nommer tes variables V1 ..V2... n'est pas terrible.
En général on essai de donner un nom aux variables plus "parlant"
Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021

Merci,
J'ai fait quelques corrections , notament dans le transfert des données POST, ça a amélioré la réponse.
Le nombre de variables liées semble correct (20), mais j'ai toujours cette alarme dans la réponse:

JSON
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

Données brutes:
ECHEC : SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens




Maintenant le programme ressemble à ça:
<?php
header("Content-Type: application/json; charset=UTF-8");

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);


$V0=$V1=$V2=$V3=$V4=$V5=$V6=$V7=$V8=$V9=$V10=$V11=$V12=
$V13=$V14=$V15=$V16=$V17=$V18=$V19=$V20=$V21=$V22=$V23="";

try{     
        
            function cleanData($dataToClean){
                $dataToClean = trim($dataToClean);
                $dataToClean = stripslashes($dataToClean);
                $dataCleaned = htmlspecialchars($dataToClean);
                return $dataCleaned;
            }
            
            $V0 = cleanData($_POST["idM2"]);                                  
            $V1 = cleanData($_POST["refMagM2"]);           
            $V2 = cleanData($_POST["familleOutilM2"]);
            $V3 = cleanData($_POST["SousFamille"]);
            $V4 = cleanData($_POST["Matiere"]);
            $V5 = cleanData($_POST["NbreZ"]);
            $V6 = cleanData($_POST["Dia1"]);
            $V7 = cleanData($_POST["Long1"]);
            $V8 = cleanData($_POST["Dia2"]);
            $V9 = cleanData($_POST["Dia3"]);
            $V10 = cleanData($_POST["LongUtile"]);
            $V11 = cleanData($_POST["LongTotale"]);
            $V12 = cleanData($_POST["Caract1"]);

            $V14 = cleanData($_POST["Fournisseur"]);
            $V15 = cleanData($_POST["Ref_Fournisseur"]);
            $V16 = cleanData($_POST["Prix"]);
            $V17 = cleanData($_POST["QteMini"]);
            $V18 = cleanData($_POST["CasEmploi1"]);
            $V19 = cleanData($_POST["CasEmploi2"]);
            $V20 = cleanData($_POST["CasEmploi3"]);
            $V21 = cleanData($_POST["CasEmploi4"]);
            $V22 = cleanData($_POST["CasEmploi5"]);
            $V23 = cleanData($_POST["CasEmploi6"]);

//--------------------------------------------------------------------------//
//connexion à la bdd
//--------------------------------------------------------------------------//
   require_once "cnxbdd.php";
    
                
    $requete = $connexion->prepare(
        "UPDATE cutting_tools_01 
        SET SOUS_FAMILLE=:SOUS_FAMILLE
        ,MATIERE_OUTIL=:MATIERE_OUTIL
        ,NBRE_Z=:NBRE_Z
        ,DIA_1=:DIA_1
        ,LONGUEUR_1=:LONGUEUR_1
        ,DIA_2=:DIA_2
        ,DIA_3:DIA_3
        ,LONG_UTILE=:LONG_UTILE
        ,LONG_TOTALE=:LONG_TOTALE
        ,CARACT_1=:CARACT_1
        
        ,FOURNISSEUR=:FOURNISSEUR
        ,REF_FOURNISSEUR=:REF_FOURNISSEUR
        ,PRIX=:PRIX
        ,QTE_MINI=:QTE_MINI
        ,CAS_EMPLOI_1=:CAS_EMPLOI_1
        ,CAS_EMPLOI_2=:CAS_EMPLOI_2
        ,CAS_EMPLOI_3=:CAS_EMPLOI_3
        ,CAS_EMPLOI_4=:CAS_EMPLOI_4
        ,CAS_EMPLOI_5=:CAS_EMPLOI_5
        ,CAS_EMPLOI_6=:CAS_EMPLOI_6
         WHERE id=$V0");
                 
                 
        $requete->bindParam(':SOUS_FAMILLE', $V3);
        $requete->bindParam(':MATIERE_OUTIL', $V4);
        $requete->bindParam(':NBRE_Z', $V5);
        $requete->bindParam(':DIA_1', $V6);
        $requete->bindParam(':LONGUEUR_1', $V7);
        $requete->bindParam(':DIA_2', $V8);
        $requete->bindParam(':DIA_3', $V9);
        $requete->bindParam(':LONG_UTILE', $V10);
        $requete->bindParam(':LONG_TOTALE', $V11);    
        $requete->bindParam(':CARACT_1', $V12); 
        
        $requete->bindParam(':FOURNISSEUR', $V14);
        $requete->bindParam(':REF_FOURNISSEUR', $V15);
        $requete->bindParam(':PRIX', $V16); 
        $requete->bindParam(':QTE_MINI', $V17);                  
        $requete->bindParam(':CAS_EMPLOI_1', $V18);
        $requete->bindParam(':CAS_EMPLOI_2', $V19);         
        $requete->bindParam(':CAS_EMPLOI_3', $V20); 
        $requete->bindParam(':CAS_EMPLOI_4', $V21);                    
        $requete->bindParam(':CAS_EMPLOI_5', $V22);
        $requete->bindParam(':CAS_EMPLOI_6', $V23);

        // execute the query
        $requete->execute();           
}
            
catch(PDOException $e){
            echo 'ECHEC  : ' .$e->getMessage();
        }  

?>


Messages postés
31042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 janvier 2021
3 182
Erreur dans la requête
DIA_3:DIA_3
Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021

Ok , Merci
Pour cette partie c'est bon.
Il me reste juste un problème:

SyntaxError: JSON.parse: unexpected end of data at line 2 column 1 of the JSON data.

Qu'est ce qui provoque ça?

Messages postés
31042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 janvier 2021
3 182 >
Messages postés
13891
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 janvier 2021

Bonjour,
Car il fait de l'ajax ... c'est pour ça que tu ne vois pas le code de son formulaire et qu'il a mis un header application/json ( qui pour moi n'est pas utile et qu'il devrait retirer ! )
Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021
>
Messages postés
31042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 janvier 2021

Jordan,

Pourrais tu expliquer: " qu'il a mis un header application/json ( qui pour moi n'est pas utile et qu'il devrait retirer ! ) "

Merci d'avance.
JC
Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021
>
Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021

Merci Jordan,
c'était ça. Ducoup ce premier projet est quasiment terminer. Juste à faire les finitions.
Merci pour votre aide.
Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021
>
Messages postés
13891
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 janvier 2021

Bonsoir ,
J'ai choisi application/json, car à mon niveau d'apprentissage tout seul dans mon coin c'est la seule technique que je connais.
Je peux partager le reste du code , c'est pas secret je pensais que ce n'étais pas utile pour cette problèmatique.
Le formulaire est le suivant:

Je me doute que c'est loin de la perfection...


<!--  ************************************************************  -->
<!-- MODIFIER : FORMULAIRE MODIFIER UNE REFERENCE DANS LA LISTE   -->
<!--  MODIFIER UNE REFERENCE DANS LA LISTE" -->
<!--  ************************************************************  -->

<!--  ******   FORMULAIRE 1: SELECTION OUTIL A MODIFIER  ******  -->    
    <form id='idFormModifier1' action="modifier1.php"  method="post">
          <div class = legendeM >
              <p id = 'legendeM1'>Indiquer n° ordre ou réference magasin.
              <br>Une seule entrée est demandée.</p>
              <!--  ******   CHOIX NUMERO ORDRE    ******  --> 
              <div class="classNumIdM">
                <label id='idLblNumIdM' For='idInputNumIdM'>N° ORDRE: </label>
                <input id = "idInputNumIdM"  name = "IdM" 
                 type = "number"  min = "100001" max = "102000" placeholder = 'Numéro Ordre: '>      
              </div>
              <!--  ******   CHOIX NUMERO MAGASIN    ******  --> 
              <div class="classNumMagM">
                <label id='idLblRefMagM' For='idInputRefMagM'>REF MAGASIN</label>
                <input id = "idInputRefMagM"  name = "refMagM" 
                 type = "number"  step = "1" min = "0" placeholder = 'Référence magasin: '>      
              </div>
               <!--  BOUTON VALIDER RECHERCHE  --> 
 <!--  BOUTON VALIDER RECHERCHE  --> 
                <input id = "idboutonRechercheModif" class = 'classboutonRechercheModif'
                 type = "button" value = "VALIDER"> 
          </div>
    </form>
    
<!--  ******   FORMULAIRE 2: MODIFIER LES DONNEES  ******  -->    
    <form id='idFormModifier2' action="modifier2.php" method="post">       
        <div class='classFModifier' id='idDIVModifier'>
          <div class='classFModifier_P1'> 
          
 <!--  ******   REPORT ID et REF_MAG   ******  -->     
            <div class='classIdRefMagM2'>
                <input id = "idInputidM2"  name = "idM2">
                <input id = "idInputRefMagM2"  name = "refMagM2">
                <input id = "idInputFamilleM2"  name = "familleOutilM2">
            </div>
          
             
<!--  ******   CHOIX  FAMILLE   ******  -->     
            <div class='classChoixFamilleM'>
                <label id='idLblFamilleM' For="idSlctCFamilleM">FAMILLE OUTIL</label>
                <select id="idSlctFamilleM" name = "familleOutil" autofocus selected = 'FRAISE'> 
                        <option value="">--CHOISIR UNE OPTION--</option>
                        <option value="FRAISE">FRAISE</option>
                        <option value="FORET">FORET</option>
                        <option value="TARAUD">TARAUD</option>
                </select>
            </div>

            
<!--  ******   CHOIX SOUS FAMILLE   ******  --> 
            <div  id= 'idChoix_S_FamilleM' class='classChoix_S_FamilleM'>
                <label id='idLbl_S_FamilleM' For="idSlctC_S_FamilleM">SOUS FAMILLE</label>
                <select id="idSlct_S_FamilleM" name="SousFamille">
                    <option value="">--CHOISIR UNE OPTION--</option>
                </select>
            </div>
            
<!--  ******   CHOIX MATIERE   ******  -->             
            <div class='classChoixMatiereM'>
                <label id='idLblMatiereM' For="idSlctCMatiereM">MATIERE OUTIL</label>
                <select id="idSlctMatiereM" name = "Matiere">                  
                        <option value="">--CHOISIR UNE OPTION--</option>
                        <option value="CARBURE">CARBURE</option>
                        <option value="ACIER_RAPIDE">ACIER RAPIDE</option>
                </select>
            </div>
 <!--  ******   NOMBRE DE DENTS OUTIL    ******  --> 
            <div class="classNbreZM">
                <label id='idLblNbreZM' For='idInputNbreZM'>NOMBRE DE DENTS OUTIL</label> 
                <input id = "idInputNbreZM"  name = "NbreZ"   
                 type = "number"  min = "0" max = "4" placeholder = 'NOMBRE DE DENTS'>           
            </div> 
 <!--  ******   DIAMETRE 1   ******  --> 
            <div class="classDia1M">
                <label id='idLblCDia1M' For='idInputDia1M'>DIAMETRE 1</label>      
                <input id = "idInputDia1M"  name = "Dia1" type = "text" 
                  min = "0" max = "500" step = "0.01" placeholder = ' 1 ER DIAMETRE'>       
            </div>             
 <!--  ******   LONGUEUR 1   ******  --> 
            <div class="classLong1M">
                <label id='idLblCLong1M' For='idInputLong1M'>LONGUEUR 1</label>     
                <input id = "idInputLong1M"  name = "Long1" type = "number"  
                  min = "0" max = "200" step = "0.1" placeholder = 'LONGUEUR 1er DIAMETRE'>
            </div>
 <!--  ******   DIAMETRE 2   ******  --> 
            <div class="classDia2M">
                <label id='idLblDia2M' For='idInputDia2M'>DIAMETRE 2</label>      
                <input id = "idInputDia2M" name = "Dia2" min = "0" max = "500" 
                  type = "text" pattern="[0-9]{1,3}" step = "0.01" placeholder = ' 2 EME DIAMETRE'>       
            </div>             
 <!--  ******   DIAMETRE 3   ******  --> 
            <div class="classDia3M">
                <label id='idLblCDia3M' For='idInputDia3M'>DIAMETRE 3</label>      
                <input id = "idInputDia3M" name = "Dia3" type = "text" min = "0" max = "500"
                   step = "0.01" pattern="[0-9]{1,3}" placeholder = ' 3 EME DIAMETRE' >       
            </div> 
 <!--  ******  LONGUEUR UTILE   ******  --> 
            <div class="classLongUtileM">
                <label id='idLblCLongUtileM' For='idInputLongUtileM'>LONGUEUR UTILE</label>      
                <input id = "idInputLongUtileM"  name = "LongUtile" type = "number" 
                  min = "0" max = "200" step = "1" placeholder = 'LONGUEUR UTILE'>       
            </div>             
 <!--  ******  LONGUEUR TOTALE   ******  --> 
            <div class="classLongTotaleM">
                <label id='idLblCLongTotaleM' For='idInputLongTotaleM'>LONGUEUR TOTALE</label>       
                <input id = "idInputLongTotaleM" name = "LongTotale" type = "number" 
                  min = "0" max = "250" step = "1" placeholder = 'LONGUEUR TOTALE'>        
            </div>  
 <!--  ******  CARACTERISTIQUE 1   ******  --> 
            <div class="classCaract1M">
                <label id='idLblCCaract1M' For='idInputCaract1M'>CARASTERISTIQUE 1</label>        
                <input id = "idInputCaract1M" name = "Caract1" pattern="[a-zA-Z0-9-\s\.]{0,20}"
                list = "idDataListCaract1" placeholder = 'CARACTERISTIQUE 1'>        
            </div>  
          </div>
          <div class='classFModifier_P2'>
 <!--  ******  FOURNISSEUR   ******  --> 
            <div class="classFournisseurM">
                <label id='idLblCFournisseurM' For='idInputFournisseurM'>FOURNISSEUR</label>         
                <input id = "idInputFournisseurM" name = "Fournisseur"   pattern="[a-zA-Z0-9-\s]{0,12}"
                list = "idDataListFournisseur" placeholder = 'FOURNISSEUR'>          
            </div>
 <!--  ****** REFERENCE FOURNISSEUR   ******  --> 
                <div class="classRef_FournisseurM">
                    <label id='idLblCRef_FournisseurM' For='idInputRef_FournisseurM'>REFERENCE FOURNISSEUR</label>         
                    <input id = "idInputRef_FournisseurM"  name = "Ref_Fournisseur" 
                    pattern="[a-zA-Z0-9-\s\.]{0,15}" placeholder = 'REFERENCE FOURNISSEUR'>          
                </div>            
 <!--  ****** PRIX ET QUANTITE MINI   ******  --> 
                <div class="classPrixM">
                    <label id='idLblCPrix_QteMiniM' For='idInputPrixM'>PRIX & QUANTITE MINI</label>                                                                       
                    <input id = "idInputPrixM"  name = "Prix" type = "number" 
                     min = "0" placeholder = 'Prix HT'>                                                       
                    <input id = "idInputQteMiniM" name = "QteMini" type = "number" min = "0" 
                    step = "1">                   
                </div>
            </div>
          <div class='classFModifier_P3'>              
 <!--  ****** CAS D EMPLOI 1  ******  --> 
            <div class="classCasEmploiM">
                <label id='idLblCCasEmploi1M' For='idInputCasEmploi1M'>CAS D EMPLOI 1</label>
                <input id = "idInputCasEmploi1M" name = "CasEmploi1" pattern="[A-Z0-9\s]{0,20}"
                 placeholder = 'CAS EMPLOI 1'>
            </div>                   
 <!--  ****** CAS D EMPLOI 2  ******  --> 
            <div class="classCasEmploiM">
                <label id='idLblCCasEmploi2M' For='idInputCasEmploi2M'>CAS D EMPLOI 2</label> 
                <input id = "idInputCasEmploi2M" name = "CasEmploi2" pattern="[A-Z0-9\s]{0,20}"
                 placeholder = 'CAS EMPLOI 2'> 
              </div>  
 <!--  ****** CAS D EMPLOI 3  ******  --> 
            <div class="classCasEmploiM">
                <label id='idLblCCasEmploi3M' For='idInputCasEmploi3M'>CAS D EMPLOI 3</label>
                <input id = "idInputCasEmploi3M" name = "CasEmploi3" pattern="[A-Z0-9\s]{0,20}"
                 placeholder = 'CAS EMPLOI 3'> 
            </div> 
 <!--  ****** CAS D EMPLOI 4  ******  --> 
            <div class="classCasEmploiM">
                <label id='idLblCCasEmploi4M' For='idInputCasEmploi4M'>CAS D EMPLOI 4</label>
                <input id = "idInputCasEmploi4M" name = "CasEmploi4" pattern="[A-Z0-9\s]{0,20}"
                 placeholder = 'CAS EMPLOI 4'> 
            </div> 
 <!--  ****** CAS D EMPLOI 5  ******  --> 
            <div class="classCasEmploiM">
                <label id='idLblCCasEmploi5M' For='idInputCasEmploi5M'>CAS D EMPLOI 5</label> 
                <input id = "idInputCasEmploi5M" name = "CasEmploi5" pattern="[A-Z0-9\s]{0,20}"
                 placeholder = 'CAS EMPLOI 5'> 
            </div>
 <!--  ****** CAS D EMPLOI 6  ******  --> 
            <div class="classCasEmploiM">
                <label id='idLblCCasEmploi6M' For='idInputCasEmploi6M'>CAS D EMPLOI 6</label>
                <input id = "idInputCasEmploi6M" name = "CasEmploi6" pattern="[A-Z0-9\s]{0,20}"
                 placeholder = 'CAS EMPLOI 6'> 
            </div>             
          </div> 
        
 <!-- ******* BOUTONS RECHERCHE  ******  -->             
                <div class = "boutonsModification"> 
 <!-- ******* BOUTON VALIDER RECHERCHE  --> 
                <input id = "idboutonValiderModification" class = 'classboutonValiderModification'
                 type = "submit" value = "VALIDER"> 
 <!--  ****** BOUTON RESET DE RECHERCHE  ******  --> 
                <input id = "idboutonResetModification" class = 'classboutonResetModification'
                 type = "reset" value = "RESET"> 
 <!--  ****** BOUTON FERMER RECHERCHE  ******  --> 
                <input id = "idboutonFermerModification" class = 'classboutonFermerModification'
                 type = "reset" value = "FERMER">
            </div>                                                                                            
        </div>
    </form>

Messages postés
13891
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 janvier 2021
782 >
Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021

je mettrais alors
text/html
à la place de
application/json
.
Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021

voila le cnxbdd.php :

<?php
    $serveur = "localhost";
    $login = "root";
    $pass = "";

    $connexion = new PDO("mysql:host=$serveur;dbname=hydro", $login, $pass);
    $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Messages postés
72
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
12 janvier 2021

Merci à Tous pour votre aide!