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 :

php mysql : Insertion à la BDD [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 8
    Par défaut php mysql : Insertion à la BDD
    salut

    j'ai un problème d'insertion à la base de données mysql avec php, le message javascript ( est ajouté avec succés! ) s'affiche normalement mais au niveau de la bbd je ne trouve rien !

    voici mon code 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
    58
    59
    60
    61
    62
     
    <?php 
    session_start();
    // appelle au code de connexion à la BDD
    require_once("bdd.php");
    $data=mysqli_query($db,"SELECT * from semestre"); 
    $data1=mysqli_query($db,"SELECT * from formation"); 
     ?>
    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" media="screen" href="CSS/ajout_utilisateur.css">
    <title>Ajouter semestre</title>
    </head>
    <body style="background-color:#07415f;">
    <div class="container" style="width:400px">
    <p style="font-family: monospace;  letter-spacing:0px; color:#FFF; text-transform:uppercase; font-size:20px">AJOUTER UN SEMESTRE</p>
      <form  name=formu action="ajouter_semestre.php"  method="POST">            
    <input type="text"  placeholder=" Session " maxlength="30" name="session" required value="<?php if (isset($_POST['session'])){echo $_POST['session'];} ?>"><br>
    <input type="text" placeholder=" libelle du semestre " maxlength="30" name="libelle_semestre" required value="<?php if (isset($_POST['libelle_semestre'])){echo $_POST['libelle_semestre'];} ?>"><br>
    <input type="date" placeholder="date debut semestre" value="<?php if (isset($_POST['date_debut_sem'])){echo $_POST['date_debut_sem'];} ?>" maxlength="10" name="date_debut_sem" id="date_debut_sem" class="calendrier" required onClick="ds_sh(this);"><br>
    <input type="date" placeholder="date  Fin du semestre" value="<?php if (isset($_POST['date_fin_sem'])){echo $_POST['date_fin_sem'];} ?>" maxlength="10" name="date_fin_sem" id="date_fin_sem" class="calendrier" onClick="ds_sh(this);" required><br>
     
    <select name="id_formation" required>
    <option selected disabled value="">formation</option>
     
    <?php while($a=mysqli_fetch_array($data1)){
    echo '<option value="'.$a['id_formation'].'">'.$a['nom_formation'].'</option>';
    }?></select><br>
    <hr width="100%" style="height:2px; color:rgba(255,255,255,.7);"/> 
    <input type="submit" value="Ajouter" name="Ajouter" class="btn_mod" style="width:100px"  onclick="compar()">
    <a href="gestion_des_semestres.php" style="text-decoration:none"><input type="button" value="Retour" class="btn_mod" style="width:100px; height:31px;"></a>
    </form> 
     
    <?php
    if(isset($_POST['libelle_semestre'])){//s'il a cliquer sur ajouter la 2eme fois
    $id_formation=$_POST['id_formation'];
    $session=$_POST['session'];
    $libelle_semestre=$_POST['libelle_semestre'];
    $date_debut_sem=$_POST['date_debut_sem'];
    $date_fin_sem=$_POST['date_fin_sem'];
    $compte=mysqli_fetch_array(mysqli_query($db,"SELECT count(*) as nb from semestre where libelle_semestre='$libelle_semestre' and id_formation='$id_formation'"));
    $date_debut_sem = substr($date_debut_sem,6,4).'/'.substr($date_debut_sem,3,2).'/'.substr($date_debut_sem,0,2);
    $date_fin_sem = substr($date_fin_sem,6,4).'/'.substr($date_fin_sem,3,2).'/'.substr($date_fin_sem,0,2);
    $bool=true;
    if($compte['nb']>0){
    $bool=false;
    ?> <SCRIPT LANGUAGE="Javascript">	alert("Erreur d\'insertion, le semestre <?php echo $libelle_semestre;  ?> existe déja!"); </SCRIPT> <?php
     
     }
    if($bool==true){
    mysqli_query($db,"INSERT into semestre(libelle_semestre,session,date_debut_sem,date_fin_sem,id_formation) values ('$libelle_semestre','$session','$date_debut_sem','$date_fin_sem','$id_formation')");
    ?> <SCRIPT LANGUAGE="Javascript">	alert(" le semestre <?php echo $libelle_semestre;  ?>  est ajouté avec succés!"); </SCRIPT> 
    <?php
    		echo "<meta http-equiv='refresh' content='0; gestion_des_semestres.php' />";
    }
    }
    ?>
    </div>
    </body>
    </html>
    et le code bdd.php est
    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
     
    <?php
    //connexion à la base de données
        $db_username = 'root';
        $db_password = 'sohaib';
        $db_name     = 'memoiremaster';
        $db_host     = 'localhost';
        $db = mysqli_connect($db_host, $db_username, $db_password,$db_name)
               or die('could not connect to database');
     
    // verifier la connexion
        if($db === false){
               die("ERROR: Could not connect. " . mysqli_connect_error());
    }
    ?>
    merci d'avance

  2. #2
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    Bonjour tu peux vérifier que ta fonction renvoie false, ce qui veut dire que la requête renvoie une erreur :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $result = mysqli_query($db,"INSERT into semestre(libelle_semestre,session,date_debut_sem,date_fin_sem,id_formation) values ('$libelle_semestre','$session','$date_debut_sem','$date_fin_sem','$id_formation')");
    if(!$result) {
     //...
    }

    Si le résultat renvoie false, la fonction mysqli_error te permer d'afficher la dernière erreur sql affichée

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 8
    Par défaut résultat après débogage
    bonjour

    après le débogage de ce script j'ai constaté que l'erreur vient de la ligne que tu a cité ( ligne 53 )
    le message d'erreur est : Fatal error: Uncaught mysqli_sql_exception: Incorrect date value: '0-08/0-/20' for column 'date_debut_sem' at row 1 in C:\...\ajouter_semestre.php on line 53

    voici la ligne 53:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqli_query($db,"INSERT into semestre(libelle_semestre,session,date_debut_sem,date_fin_sem,id_formation) values ('$libelle_semestre','$session','$date_debut_sem','$date_fin_sem','$id_formation')");
    voici le capture de ma base de données
    Nom : null.JPG
Affichages : 66
Taille : 38,5 Ko

    je pense que le problème vient de la fonction substr()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $date_debut_sem = substr($date_debut_sem,6,4).'/'.substr($date_debut_sem,3,2).'/'.substr($date_debut_sem,0,2);
    $date_fin_sem = substr($date_fin_sem,6,4).'/'.substr($date_fin_sem,3,2).'/'.substr($date_fin_sem,0,2);
    !

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 8
    Par défaut résolu - désolé pour l’embêtement
    salut

    ce code écrit depuis longtemps (php 5.x ) , j'ai voulu lui mette à jour , j'ai fais qlq changement concernant la classe mysql_ -> mysqli_
    et vu que (php 7.x ) plus intelligent, il m'a gérer cette date sans aucune modification ( saisi à partir de mon formulaire <input type="date" ) vers la base de données (mysql-innobd-champs date NULL )
    alors j'ai supprimer les deux ligne 43 et 44
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $date_debut_sem = substr($date_debut_sem,6,4).'/'.substr($date_debut_sem,3,2).'/'.substr($date_debut_sem,0,2);
    $date_fin_sem = substr($date_fin_sem,6,4).'/'.substr($date_fin_sem,3,2).'/'.substr($date_fin_sem,0,2);
    et hop ! ça marche très bien

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

Discussions similaires

  1. [MySQL] Sécurité PHP/MySQL insert/affichage
    Par thibaud28 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/03/2010, 20h22
  2. [MySQL] php/mysql INSERT avec Jointure
    Par vetea_t dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/11/2009, 08h29
  3. [MySQL] PHP/MySQL INSERT INTO en masse qui déraille (oubli de données)
    Par yahoowaloo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/07/2009, 17h19
  4. [MySQL] php/mysql Insertion de données dans ma bdd
    Par djavrel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/04/2009, 18h16
  5. [MySQL] PHP-MySQL: Insertion de donnée dans une table vide
    Par jrosenzw dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/03/2009, 02h11

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