par
hikaru59 » 30 sept. 2021, 23:53
En effet, il y des sauts de ligne enregistré dans la BDD.
Ce sont des données insérées automatiquement à partir d'un fichier CSV.
Voici mon fichier csv :
Terry;Bogard;terrybogard_at-email_net
Andy;Bogard;andybogard_at_email_net
Joe;Higashi;joehigashi_at-yahoo_com
Voici mon script d'insertion automatique de données. Je ne vois pas comment je peux corriger cela.
Code : Tout sélectionner
$contenu = file_get_contents('users.csv'); // Récupère le contenu
$data = explode("\n", $contenu); // explode() coupe une chaîne en segments et retourne un tableau. On coupe au retour chariot \r ou nouvelle ligne \n
foreach ($data as $d) {
$d = explode(";", $d); // explode() coupe une chaîne en segments et retourne un tableau. On coupe au ;
$firstname = $d[0];
$lastname = $d[1];
$email = $d[2];
$query = $db->prepare('INSERT INTO users (`firstname`, `lastname`, `email`) value (:firstname, :lastname, :email)');
$query->bindValue(':firstname', $firstname, PDO::PARAM_STR);
$query->bindValue(':lastname', $lastname, PDO::PARAM_STR);
$query->bindValue(':email', $email, PDO::PARAM_STR);
// $query->execute();
}
Si je fais explode() sur \r, alors c'est des \n qui sont insérés dans la BDD.
En effet, il y des sauts de ligne enregistré dans la BDD.
Ce sont des données insérées automatiquement à partir d'un fichier CSV.
Voici mon fichier csv :
Terry;Bogard;terrybogard_at-email_net
Andy;Bogard;andybogard_at_email_net
Joe;Higashi;joehigashi_at-yahoo_com
Voici mon script d'insertion automatique de données. Je ne vois pas comment je peux corriger cela.
[code]
$contenu = file_get_contents('users.csv'); // Récupère le contenu
$data = explode("\n", $contenu); // explode() coupe une chaîne en segments et retourne un tableau. On coupe au retour chariot \r ou nouvelle ligne \n
foreach ($data as $d) {
$d = explode(";", $d); // explode() coupe une chaîne en segments et retourne un tableau. On coupe au ;
$firstname = $d[0];
$lastname = $d[1];
$email = $d[2];
$query = $db->prepare('INSERT INTO users (`firstname`, `lastname`, `email`) value (:firstname, :lastname, :email)');
$query->bindValue(':firstname', $firstname, PDO::PARAM_STR);
$query->bindValue(':lastname', $lastname, PDO::PARAM_STR);
$query->bindValue(':email', $email, PDO::PARAM_STR);
// $query->execute();
}
[/code]
Si je fais explode() sur \r, alors c'est des \n qui sont insérés dans la BDD.