Page 1 sur 1

SQLSTATE[HY093]: Invalid parameter number in

Posté : 24 mai 2017, 17:48
par yoann38
Bonjour,
Voila que je rencontre des difficultés sur une requete INSERT.

SQLSTATE[HY093]: Invalid parameter number in
J'avoue ne pas comprendre le problème
<?php
foreach($csv as $ligne){


	// Requete pour calculer le nombre d'annonces en cours de validité
        $sql = "SELECT id_loisirs FROM loisirs WHERE number = '".$number."'";
        $req = $bdd->query($sql);
        $nbResult = $req->rowCount();
             
        //Entrée déjà existante
       
    
    // Insertion
        $req = $bdd->prepare("INSERT INTO `loisirs` (id_simply_user,titre,id_type_loisirs,genre_loisir,price,photo,date_debut_sortie,date_fin_sortie,tracker,id_departements,id_region,city,postcode,street,number,valide) VALUES (:id_simply_user, :titre, :id_type_loisir, :type_restauration, :price, :photo, :date_debut_sortie, :date_fin_sortie, :tracker, :departement, :region, :city, :postcode, :street, :number, :valide')");
        $req->execute(array(
             
            'id_simply_user'=>$id_simply_user,
            'titre'=>$titre,
            'id_type_loisirs'=>$id_type_loisir,
            'genre_loisir'=>$type_restauration,
            'price'=>$price,
            'photo'=>$photo,
            'date_debut_sortie'=>$date_debut_sortie,
            'date_fin_sortie'=>$date_fin_sortie,
            'tracker'=>$tracker,
			'id_departements'=>$departement,
            'id_region'=>$region,
            'city'=>$city,
            'postcode'=>$postcode,				 
            'street'=>$street,
            'number'=>$number,
            'valide'=>$valide
            ));
            }
        

?>

Re: SQLSTATE[HY093]: Invalid parameter number in

Posté : 24 mai 2017, 22:48
par or 1
, :valide')");
peut être le ' qui n'a rien à faire là.

Re: SQLSTATE[HY093]: Invalid parameter number in

Posté : 26 mai 2017, 03:50
par Robervale
l'erreur vient de la nomenclature de ton paramètre genre_loisir. en effet comme valeur dans la requete INSERT tu lui a donné comme paramètre a recevoir :type_restauration or en executant ta requête tu lui donne comme parametre 'genre_loisir'=>$type_restauration d'ou le invalid parametre.
je pense que si tu change la ligne 'genre_loisir'=>$type_restauration
par 'type_restauration'=>$type_restauration
tout devrait etre bon