"SQLSTATE[HY093] was not definedArray: comment corriger?"
Résolumodemo2018 Messages postés 254 Statut Membre -
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
- "SQLSTATE[HY093] was not definedArray: comment corriger?"
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable - Forum Pilotes (drivers)
- The requested url was not found on this server traduction - Forum Réseaux sociaux
- Carte ethernet deep sleep mode ✓ - Forum Pilotes (drivers)
- Time of day not set please run setup program ✓ - Forum Debian
- Vb6fr.dll could not be found - Forum Windows
1 réponse
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...

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