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 :

erreur d'enregistrement dans la base de donnée


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Centrafrique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 9
    Par défaut erreur d'enregistrement dans la base de donnée
    salut
    j'ai un petit souci avec mon projet de création d'un CV dynamique au niveau de l’enregistrement dans la base de donnée qui m'affiche ça
    Warning: mysqli_error() expects exactly 1 parameter, 0 given.
    au fait le souci se pose principalement au niveau expériences professionnelles et formations puisse qu'une personne peut avoir ou fait
    +sieurs formations et expériences .Cette zone est crée dynamiquement avec javascript
    j'ai crée une variable $nombre_de_ligne pour me permettre de d'utiliser dans le php afin de me faciliter l'enregistrement mais hélas
    Fichiers attachés Fichiers attachés

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    mysqli_error prend l'identifiant de la connexion en paramètres :
    Liste de paramètres
    • link : Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()
    https://www.php.net/manual/fr/mysqli.error.php
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Centrafrique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 9
    Par défaut
    code html
    Code html : 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
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Form</title>
     
        <script type="text/javascript">
     
            var nextId = 0;
            var nextId2 = 0;
            var fnextId = 0;
            var compe =0;
            function Ajout() {
                nextId++;
                var exp = document.getElementById("expe");
                var pcDiv = document.createElement('div');
                pcDiv.setAttribute('id', 'exper' + nextId);
                pcDiv.setAttribute('class',  + nextId);
     
                var e='exper'+nextId;
                pcDiv.innerHTML = '<label for="from" style="color:black;font-size:15px;" > de : </label><input type="date" name="exper1[]"/>' +
                '<label for="to" style="color:black;font-size:15px;" > Jusqu\'a :</label>'+'<input type="date" name="exper2[]"/>'+
                '<label for="job" style="color:black;font-size:15px;" > Type de poste :  </label>'+ ' <input type="text" name="exper3[]" /> ' 
                + '<label for="company" style="color:black;font-size:15px;" > Nom de la societe : </h2> </label> '
                + ' <input type="text" name="exper4[]" placeholder="" />'
                + ' <label for="comment" style="color:black;font-size:15px;" > Description de votre mission:  </label>'
                +' <textarea class="form-control" rows="2" name="exper5[]"></textarea>'
                +' <button type="button" style="background-color:blue;color:white ;width: 100px; height: 35px;"  onclick="Supprimer(e)">Supprimer</button>';
           //+'<br/><input type="text value="" name="nbrexpe"id="nbrexp" >'*/ ;
                 exp.appendChild(pcDiv);
            document.getElementById("nbrexp").value=nextId;
     
     
            }</scripte>
    </head>
    <body  bgcolor="#E6E6FA">
     
     
     
     
     
     
     
    <form  method="POST" id="signup-form" class="signup-form" action="veri.php">
        <fieldset>
           <center> <h1 style="color:black;font-size:20px;" > Informations Personnels </h1> <br/>
        </center>
        <div>
            <label for="birthdate"> <h2 style="color:black;font-size:15px;" > Date de naissance : </h2> </label>
            <input type="date" name="birthdate" />
            <input type="text" name="fname" placeholder="Votre nom" autofocus>
            <input type="text" name="lname" placeholder="votre prenom"/>
            <input type="text" name="add" placeholder="addresse"/>
            <input type="email" name="mail" placeholder="votre mail"/>
            <input type="text" name="phone" placeholder="numero de telephone"/>
          </div>  
            <div id="infoperso">
     
     
            </div>
     
            <button type="button" style="background-color:black;color:white ;width: 100px; height: 35px;"  onclick="updatePcLanguage()">MODIFIER</button>
     
     
     
        </fieldset>
        <fieldset> 
     
            <center>
                <h1 style="color:black;font-size:20px;" > Experiences professionnelles </h1><br/>
     
            </center>
     
             <div>
                <!--<label for="from" style="color:black;font-size:15px;" > de : </label>
                <input type="date" name="from" id="from"/>
                <label for="to" style="color:black;font-size:15px;" > Jusqu'a :</label>
                <input type="date" name="to" id="to"/>-->
                <label for="job" style="color:black;font-size:15px;" > Nombre de lignes:  </label>
                <input type="text" name="nbexp" id="nbrexp" readonly />
               <!-- <label for="company" style="color:black;font-size:15px;" > Nom de la societe : </h2> </label>
                <input type="text" name="company" id="company"/>
                <label for="comment" style="color:black;font-size:15px;" > Description de votre mission:  </label>
                <textarea class="form-control" rows="2" id="comment"></textarea>-->
             </div>
             <div id="expe" >
       <!--zone ou le script dynamique s'affiche-->
     
             </div>
     
                <button type="button" style="background-color:black;color:white ;width: 100px; height: 35px;"  onclick="Ajout()">AJOUTER </button>
     
     
        </fieldset></form></body>

    l'enregistrement dans la table info_personnelle se passe très bien mais dans table d’expérience toujours une erreur
    et voici code php

    Code php : 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
     
    <?php
     
    session_start();
     $baseConnexion= mysqli_connect ('localhost','root','',"creationcompte");
     if (! $baseConnexion)
     {
     die("ne pourrait pas se relier : ". mysqli_error ());
     }
    $sql1='INSERT INTO info_personnelle VALUES("","'.$_POST['fname'].'","'.$_POST['lname'].'","'.$_POST['add'].'","'.$_POST['mail'].'","'.$_POST['phone'].'","'.$_POST['brithdate'].'") ';
    if (!mysqli_query($baseConnexion,$sql1))
           {
             die('impossible d’ajouter cet enregistrement info perso : ' . mysqli_error());
           }
     echo "Vos info perso ont  bien ete prise en compte <br/> ";
    $nombreExp=intval($_POST["nbexp"]);
          $sql2=[];
    for($i=0;$i<$nombreExp;$i++)
           {
                    $datdebut=$_POST['exper1'][$i];
                    $datfin=$_POST['exper2'][$i];
                    $titre= $_POST['exper3'][$i];
                    $lieu=$_POST['exper4'][$i];
                    $descrip=$_POST['exper5'][$i];
     
              $sql2[$i]='INSERT INTO expériences_profess VALUES("","'.$datdebut.'","'.$datfin.'","'.$titre.'","'.$lieu.'","'.$descrip.'")';
              if (!mysqli_query($baseConnexion,$sql2[$i]))
              {
                die('impossible d’ajouter cet enregistrement d\'esxperience : ' . mysqli_error());
              } 
              echo "Vos experiences ont  bien ete prise en compte <br/> ";
           mysqli_close($baseConnexion);
            }
    ?>

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Partout où tu utilises mysqli_error(), tu devrais avoir mysqli_error($baseConnexion).
    Attention, pour l'erreur sur mysqli_connect(), il faut utiliser mysqli_connect_​error.

    Au passage, tu insères des données brutes issues d'un formulaire directement dans la requête, pas terrible pour la sécurité. Il faudrait au moins appliquer mysqli_real_escape_string dessus.
    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
    $baseConnexion= mysqli_connect ('localhost','root','',"creationcompte");
     if (! $baseConnexion)
     {
     die("ne pourrait pas se relier : ". mysqli_connect_error ());
     }
    $fname = mysqli_real_escape_string($baseConnexion, $_POST['fname']);
    $lname = mysqli_real_escape_string($baseConnexion, $_POST['lname']);
    $add = mysqli_real_escape_string($baseConnexion, $_POST['add']);
    $mail = mysqli_real_escape_string($baseConnexion, $_POST['mail']);
    $phone = mysqli_real_escape_string($baseConnexion, $_POST['phone']);
    $brithdate = mysqli_real_escape_string($baseConnexion, $_POST['brithdate']);
    $sql1='INSERT INTO info_personnelle VALUES("","'.$fname.'","'.$lname.'","'.$add.'","'.$mail.'","'.$phone.'","'.$brithdate.'") ';
    if (!mysqli_query($baseConnexion,$sql1))
           {
             die('impossible d’ajouter cet enregistrement info perso : ' . mysqli_error($baseConnexion));
           }
    Au passage, tu insères directement des
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Centrafrique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 9
    Par défaut
    Okay,merci pour la reformulation de requêteNom : cap_CV.PNG
Affichages : 189
Taille : 20,5 Ko pour les information personnelle mais le problème se trouve au niveau de l'insertion dans la table experiences_profess
    j'arrive a bien récupérer les différentes types de données mais les stocker c'est un blême

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Tu prends modèle sur ce que j'ai fait comme correction pour la 1ere requête et tu corriges le reste du script.
    Et ensuite, tu re-testes et si ça ne fonctionne toujours pas, tu nous donnes le message d'erreur.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

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

Discussions similaires

  1. Erreur lors de l'enregistrement dans la base de données
    Par 2boubacar10 dans le forum MkFramework
    Réponses: 9
    Dernier message: 03/06/2016, 22h56
  2. Réponses: 1
    Dernier message: 30/07/2006, 20h02
  3. enregistrer dans une base de données
    Par liverbird dans le forum C++Builder
    Réponses: 33
    Dernier message: 12/07/2006, 19h50
  4. [MySQL] Enregistrer dans une base de données à partir d'une liste déroulante
    Par snakejl dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 17/05/2006, 16h32
  5. inscription via le web et enregistrement dans une base de données
    Par titoenis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 17/05/2006, 09h20

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