Erreur ! SQLSTATE[22007]: Invalid datetime format: 1292 Truncated incorrect

Résolu
modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   -  
modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   - 21 août 2020 à 10:23
Bonjour à tous, j'ai un programme qui envoie une requête pour supprimer des donnée dans la BDD, ce code je l'ai copier à partir d'une autre page qui fonctionne sans problème et j'ai juste changé de paramêtre mais depuis il me renvoit cette erreur

Erreur ! SQLSTATE[22007]: Invalid datetime format: 1292 Truncated incorrect DOUBLE value: '2; 'Array ( [0] => 2; [1] => août )

voici mon code suppression


if ( $choix == 'supprimenote') {
	
	echo $mois; echo $ideleve;
	
	
$sql = 'DELETE FROM note WHERE ideleve = ? AND mois = ?';
$datas = array($ideleve, $mois);
try{
  $req = $bdd->prepare($sql);
  $req->execute($datas);  
} catch ( Exception $e ) {
    // en cas d'erreur :
    echo " Erreur ! " . $e->getMessage ();
    print_r ( $datas );
    exit;
  }	
	try
    {		
 $req12 = $bdd->prepare('SELECT moyene FROM general WHERE id = ?  AND mois = ? AND an = ?');
	
	$req12->execute(array($id,  $mois, $annee ));	
	 }
    catch(Exception $e)
    {
        die('Erreur : '.$e->getMessage());
    }		  
$moyene =  $req12->fetch();		
	
if ( !empty($moyene['moyene'])) {
	
	
$sql = 'DELETE FROM general WHERE id = ? AND mois = ?';
$datas = array($id $mois);
try{
  $req = $bdd->prepare($sql);
  $req->execute($datas);  
} catch ( Exception $e ) {
    // en cas d'erreur :
    echo " Erreur ! " . $e->getMessage ();
    print_r ( $datas );
    exit;
  }		

  }	



Je comprend pas, quelqu'un peut-il me dire ce qui m'échappe dans ce code SVP?
A voir également:

2 réponses

jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
Bonjour,

Encore une fois.. tu copies/colles du code sans le comprendre !

Encore une fois.. tu postes ta question dans le forum mysql ... alors que je pense que le souci se situe au niveau du code PHP....

Encore une fois ... tu poses ta question sur le forum sans avoir essayé de comprendre le message d'erreur...

Encore une fois... tu poses ta question sur le forum sans avoir essayé de débuguer ton code à l'aide de var_dump / echo de tes variables...

Bref....

Commence par faire des var_dump de tes variables $mois, $annee et montre nous ce que ça te retourne.

Ajoute également des echos dans ton code (dans chaque catch ) ( echo "requete 1 ";... echo "requete 2 "; ... etc.... ) histoire de savoir sur quelle requête il bloque... et en fonction, montre nous la structure (via un DUMP par exemple ) de la table concernée. ( note ? moyenne ou général ?? )

Après.... je suppose, vu le message d'erreur... que ta table utilise un champ DATE ou DATETIME... et que toi, tu essaies de lui envoyer un array contenant les valeurs 2 et août...

2