"SQLSTATE[HY093] was not definedArray: comment corriger?"

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   -

Bonjour

Depuis des jours je suis bloqué au niveau de l'insertion dans la table "Tempo", je reçois cette erreur sans cesse:

Erreur lors de l'enregistrement en BDD ! SQLSTATE[HY093]: Invalid parameter number: parameter was not definedArray ( [:id] => 1 [:reçois] => BNB(Bep-2) [:donne] => Bitcoin(BTC) [:date] => jeudi 25 août 2022 )

Voici la partie du code concerné:

	<?php include("connexion.php");

$donnees = !empty ( $_SESSION['id'] ) ? $_SESSION['id'] : NULL;	
$recois = !empty ( $_POST['reçois'] ) ? $_POST['reçois'] : NULL;
$donne = !empty ( $_POST['donne'] ) ?$_POST['donne'] : NULL;
	
		
			
setlocale(LC_TIME, 'fr_FR');
date_default_timezone_set('Europe/Paris');
$date = utf8_encode(strftime('%A %d %B %Y'));	
$mois = utf8_encode(strftime('%B'));	
	
									
if(!empty ( $_POST['reçois'] )) {
try {	
    $sql = 'INSERT INTO tempo(id,reçois,donne,date) VALUES(:id,:reçois,:donne,:date)';
	  
	  
$datas = array(':id'=>$donnees,':reçois'=>$recois,':donne'=> $donne,':date'=>$date); 
	  
    try {
      $req =$bdd->prepare($sql);
      if ( $req->execute ($datas) ) {
       
      } else {
        echo "<br> Erreur lors de l'enregistrement... <br>";
        print_r ( $datas );
        exit;
      }
    } catch ( Exception $e ) {
      // en cas d'erreur :
      echo "<br> Erreur lors de l'enregistrement en BDD ! " . $e->getMessage ();
      print_r ( $datas );
      exit;
    }	
  } catch ( Exception $e ) {
    // en cas d'erreur :
    echo " Erreur ! " . $e->getMessage ();
    print_r ( $datas );
    exit;
  }	
header('Location:achat-vente1.php');		
//exit;
}?>	

Voici la capture de la table "tempo":

Ce type d'erreur est signalé lorsqu'il ya une variable de plus dans le code d'Insertion, ou une variable qui n'est pas definie, lorsque je parcours mon code, je ne vois pas cette variable de plus, j'ai 4 case de ma BDD pour 4 variable

( [:id] => 1

[:reçois] => Francs CFA(XAF)

[:donne] => Ethereum(ETH)

[:date] => jeudi 25 août 2022 )

Quelqu'un peut-il m'aider a y voir plus clair SVP ?

Cordialement

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Bonjour

Déjà.. ta question concerne le php et non le mysql à proprement parler 

Je déplace donc (encore .) ta question dans le bon forum.

Ensuite..une date dans mysql se Stocke dans un champ de type DATE et doit être au format Y-m-d.

Er enfin.. on n'utilise jamais de caractères spéciaux dans le nom d'un champ d'une table.. ni dans le nom d'une variable. Retire donc cette cédille...


0
modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci pour lacorrection,je m'y applique puis je confirme
0
modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   2
 

J'ai modifié et ça marché, merci beaucoup

0