Fatal error: Uncaught mysqli_sql_exception: Incorrect date value: '0-08/0-/20'
Résolu
SohaibAdj
-
SohaibAdj -
SohaibAdj -
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 !
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 52
voici mon code php :
voici la ligne 52:
personnellement je pense le probeme vient de la fonction substr() !! comment corrigé cela
et merci beaucoup si vous avez lu jusqu'à la .
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 !
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 52
voici mon code php :
<?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>
voici la ligne 52:
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')");
personnellement je pense le probeme vient de la fonction substr() !! comment corrigé cela
et merci beaucoup si vous avez lu jusqu'à la .
A voir également:
- Fatal error: uncaught mysqli_sql_exception
- Fan error lenovo - Forum Refroidissement
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Playback error reconnect in 3s (1/5) francais - Forum Box et Streaming vidéo
- Whea error occt - Forum Processeur
- Error 1962 ✓ - Forum PC fixe
4 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, qui a écrit cela?
sais-tu ce que contient $date_debut_sem?
sais-tu en quoi tu veux le transformer?
sais-tu ce que contient $date_debut_sem?
sais-tu en quoi tu veux le transformer?
le message d'erreur c'est ça :
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 52
example :
j'ai insérer 01/02/3456
il m'affiche cette valeur 1-02/34/6-
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 52
example :
j'ai insérer 01/02/3456
il m'affiche cette valeur 1-02/34/6-
example j'ai changé le type de input de "date " à "text" dans la ligne 21 et 22 ( voire le code )
et j'ai saisi manuellement 2019-09-13 dans le premier champ et 2020-01-18 dans le suivant
apres j'ai supprimé les deux ligne de la fonction
et ça bien marché
alors !!
et j'ai saisi manuellement 2019-09-13 dans le premier champ et 2020-01-18 dans le suivant
apres j'ai supprimé les deux ligne de la fonction
substr()
et ça bien marché
alors !!
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
et hop ! ça marche très bien
merci yg_be
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 )
echo="$date_debut_sem,0,12";-> m'a aidé de bien savoir ce que mon champs a mentionné .
alors j'ai supprimer les deux ligne 43 et 44
$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
merci yg_be
je veut l'insérer une un champs de type date dans la bdd alors le rendre yyyy/mm/dd
j'ai entendu de la classe datetime mais je ne sais pas aussi comment l'utilité
as-tu regardé la valeur de la date dans le message d'erreur, et, en analysant le code, as-tu reconstitué la valeur de départ?
tu peux aussi faire echo de la valeur d'une variable.
quelques conseils:
https://www.commentcamarche.net/infos/25899-forum-ccm-mode-d-emploi-demander-de-l-aide-pour-un-exercice/
https://www.commentcamarche.net/faq/3158-php-methodes-de-debogage