Invalid parameter number: mixed named and positional parameters

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Invalid parameter number: mixed named and positional parameters

Re: Invalid parameter number: mixed named and positional parameters

par Robervale » 28 mai 2017, 01:38

Prochainement dispose ton code sql aisin si tu as des problemes..... je pense que sa sera plus clair pour les compter au cas ou.
Tant avait sauter plus d'un et faire des erreurs lors des liaison de données.
:D :D :D :D :D :non: :non: :non:

$req = $bdd->prepare("INSERT INTO loisirs 
     						(
     							id_simply_user,
     							titre,
     							id_type_loisirs,
     							genre_loisir,
     							type_restauration,
     							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,
     							:$genre_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'=>$genre_loisir,
			            'type_restauration'=>$type_restauration,
			            'price'=>$price,
			            'photo'=>$photo,
			            'date_debut_sortie'=>$date_debut_sortie,
			            'date_fin_sortie'=>$date_debut_sortie,
			            'tracker'=>$tracker,
			            'id_departements'=>$departement,
			            'id_region'=>$region,
			            'city'=>$city,
			            'postcode'=>$postcode,				 
			            'street'=>$street,
			            'number'=>$number,
			            'valide'=>$valide
                      )) or die('Problème lors de l\'insertion');
            }
        }

Invalid parameter number: mixed named and positional parameters

par yoann38 » 18 mai 2017, 17:29

Salut tout le monde,
J'ai ce fameux message d'erreur qui s'affiche après environ 2500 enregistrement en bdd.
Je ne vois pas en quoi mes parametre sont mélangés dans ma requete :
Code :
foreach($csv as $ligne){
    
    //print_r($ligne);
    
    $id_simply_user = '2000'; 
    $tracker = $ligne[0]; 
    $titre = addslashes($ligne[1]); 
    $number= $ligne[2];
    $photo =  $ligne[4];
    $genre_loisir =  'restaurant'; 
    $id_type_loisir =  '1'; 
    $price =  $ligne[7]; 
    $type_restauration =  $ligne[21];
    $promo_en_cours = $ligne[24];

    $date_debut_sortie =  '2017-01-01';
    $date_fin_sortie =  '2018-01-01';
    
    // Adresse
    $street = $ligne[45]; // Adresse :5, avenue Ravanel Le Rouge | 74400 | Chamonix-Mont-Blanc
    $pieces = explode(" | ", addslashes($street));
    
    // Selection avec délimitateur
    $postcode = $pieces[1]; // Code postal
    $street = $pieces[0]; // Rue
    $city = $pieces[2]; // Ville
    
    $postcode = $ligne[46]; // 74400
      // Département
      $departement = substr($postcode, 0, 2);  // 38
      // Région
      $region = regionIdByDepartement($departement); // 22
      
    // Sortie validé par defaut
    $valide = '1';	
// 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
        if ($nbResult > 0) {  
        echo '"'.$number.'" existe déjà en '.$nbResult.' exemplaire(s)';
        } else { //  libre
    
    // 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_debut_sortie,
            'tracker'=>$tracker,
                      'id_departements'=>$departement,
            'id_region'=>$region,
            'city'=>$city,
            'postcode'=>$postcode,				 
            'street'=>$street,
            'number'=>$number,
            'valide'=>$valide
                      )) or die('Problème lors de l\'insertion');
            }
        }
Merci pour le coup de main