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
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 :
[PHP]
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');
}
}
[/PHP]
Merci pour le coup de main