Um den Kontext zu erklären, habe ich eine CSV-Datei, durch die ich looping bin.PDO Anfrage funktioniert 1/4 mal
Ich habe bereits mit dem folgenden Code überprüft, ich bin eigentlich jede Zeile meiner CSV-Datei bereit.
if (file_exists($file)){
$fic = fopen($file, 'rb');
$linecount = 0;
for ($ligne = fgetcsv($fic, 1024,";"); !feof($fic); $ligne = fgetcsv($fic, 1024,";")) {
$linecount++;
}
}
else {
/*do smth*/
}
echo $linecount;
Aber wenn ich ersetzen $ linecount ++ mit dem, was ich meinen Code wirklich tun möchte:
$codeArticle = $ligne[0]; //Code Article
$nomArticle = $ligne[1]; //Nom Article
$refGamme = $ligne[2]; //Référence Gamme
$nomGamme = $ligne[3]; //Nom Gamme
$codeSSRef = $ligne[4]; //Code Sous Référence
$libelleSSRef = $ligne[5]; //Libellé Sous Référence
$queryGammes = "INSERT INTO Gamme VALUES('$refGamme','$nomGamme');";
$querySSRef = "INSERT INTO SS_Ref VALUES('$codeSSRef','$libelleSSRef');";
$queryProduits = "INSERT INTO Produit VALUES('$codeArticle','$nomArticle',NULL,'$refGamme','$codeSSRef');";
$result = $pdo->query($queryGammes);
$result = $pdo->query($querySSRef);
$result = $pdo->query($queryProduits);
ich mit diesem Code kein Fehler bekam läuft, aber wenn ich mir in meine db (mysql) ich nur habe 339 Gesamtzeilen in der Tabelle namens Produit, wo ich 1 Zeile pro CSV-Zeile haben sollte. Diese Zeilen sind wirklich toll, die Anfragen laufen gut, aber ich kann nicht herausfinden, warum dieser Code nicht jede Zeile meiner Datei in meine DB einfügt.
Bitte um Rat fragen? Ich bin hier wirklich fest und es ist wichtig, damit ich einen Ratschlag nehme.
diejenigen tun, die nicht eingeführt haben, enthalten ' ''? –
Erstellen von SQL-Abfragezeichenfolgen aus Eingabe ist nie eine gute Idee. Es kann zu allem führen, von ungültigem SQL (wenn jemand den Namen O'Leary hat, wird es das generierte SQL brechen) zu SQL-Injection-Angriffen. Ich wette, dass viele Ihrer Probleme verschwinden werden, wenn Sie Ihren SQL-String-Baucode durch korrekt vorbereitete Anweisungen ersetzen. – GordonM
"Ich gehe keinen Fehler mit diesem Code" - Dann schauen Sie sich bitte an, wie man Fehlermeldungen aus PDO herausquetscht ] (http: // Stapelüberlauf.com/questions/3726505/how-to-squeeze-Fehlermeldung-out-of-pdo # 3726526). –