"SQLSTATE[HY093] was not definedArray: comment corriger?"
Résolumodemo2018 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
- "SQLSTATE[HY093] was not definedArray: comment corriger?"
- Input signal not found ✓ - Forum Matériel & Système
- Input not supported - Forum Ecran
- Not able to play iron tv ✓ - Forum TV & Vidéo
- Do not turn off target traduction - Forum Samsung
- Samsung galaxy tab S Bloquer Downloading do not turn off target - Forum Téléphones & tablettes Android
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