IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number
    Aide SVP! Voilà j'ai tous les problèmes avec cette insertion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    $epi=$_GET['epi'];
    $quantite=$_GET['quantite'];
    $nomepi=$_GET['nomepi'];
     
    $query = 'INSERT INTO `epi`.`appro` (`Nom`,`Code_EPI`,`Quantite`) VALUES (:Nom,:Code_EPI,:Quantite)';
    $mes = $pdo->prepare( $query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $a=$mes->execute(array(
                ":Nom" =>$nomepi,
                ":Code_EPI" => $epi,
                ":Quantite" => $quantite
    	        ));
     
    			$query = "SELECT DISTINCT Code_EPI FROM stock"; 
    			$mes = $pdo->prepare( $query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    			$mes->execute();// Requête SQL
    			// On fait une boucle pour lister tout ce que contient la table :
                foreach($mes->fetchall() as $t){
     
    						 If ($epi = $t) {
    							 	$epi=$_GET['epi'];
    							 $query = "SELECT DISTINCT Stock FROM stock WHERE Code_EPI = :Code_EPI"; 
    							 $mes = $pdo->prepare( $query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    							 $mes->execute(array(
    							 ":Code_EPI" => $epi
    							 ));
     
     
    							 foreach($mes->fetchall() as $t){						
    							 $query = "UPDATE `epi`.`stock` SET `Stock` = :Stock WHERE Code_EPI = :Code_EPI"; 
    							 $mesi = $pdo->prepare( $query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    							 $b=$mesi->execute(array(
     
    								":Stock" =>$t['Stock'] + $quantite, 
    								":codeEPI" => $epi
    								));	
    							 }
    											}		
    			}
    Je suis débutant vous risquez de trouver des choses bizarres dans ce code l'erreur est la derniere ligne de ce code

    l'erreur correspond à la ligne 36

    enfin 35

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 221
    Points : 15 512
    Points
    15 512
    Par défaut
    corrige déjà l'indentation du code, cela aidera tout le monde à mieux le comprendre

  3. #3
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 847
    Points : 6 531
    Points
    6 531
    Par défaut
    Dans ta requête ligne 29 :Code_EPI porte un C majuscule et un underscore, alors qu'ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $b=$mesi->execute(array(
         ":Stock" =>$t['Stock'] + $quantite, 
         ":codeEPI" => $epi
    ));
    le C est en minuscule :codeEPI et il manque l'underscore.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/03/2015, 12h18
  2. Réponses: 1
    Dernier message: 08/08/2012, 00h48
  3. [MySQL] Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000
    Par okoweb dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 03/12/2011, 09h32
  4. [MySQL] Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002]
    Par -Fly- dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/04/2011, 12h18
  5. Réponses: 3
    Dernier message: 04/04/2011, 18h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo