Archief - [PROG]PHP CSV -> MySql

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ble$$ed^

Legacy Member
hoi

ik ben nu net 2 dagen bezig met php te leren en voor een opdracht zou ik dus een csv file naar mijn database moeten importeren in een bestaande tabel. Ik heb enkele tutorials gevolgd en ik kan mijn data zo wel importeren
check stukje code

Code:
$reader = fopen("$filename", "r");


#lees 1 voor 1 en steek in array

     while (($data = fgetcsv($reader, 1000,";")) !== FALSE)

     {

       $import="INSERT INTO algemeneGegevens(RegNr,contactId,Datum,Tijd,MarktgroepBetaald,Aanwezig,Voornaam,Naam,Bedrijf)
       												values('$data[0]',
       													   '$data[1]',
       													   '$data[2]',
       													   '$data[3]',
       													   '$data[4]',
       													   '$data[5]',
       													   '$data[6]',
       													   '$data[7]',
       													   '$data[8]'
       													   )";

       mysql_query($import) or die(mysql_error());

     }

     fclose($reader);

     echo "import geslaagd";

dit is zo een csv regel

35;4;9/06/2006;;0;0;Sofie;Keerman;testbedrijf2;


nu zit het zo ik heb een kolom moeten bijvoegen die autonumeriek is genaamd IdFile. Nu ik krijg in de csv bestanden die idfile niet bij, dus als ik mijn file importeer komen bepaalde velden in verkeerde kolommen terecht.

Is er een oplossing zodat hij enkel vanaf mijn 2de kolom begint in te lezen ?



khoop dat ik het wa min of meer duidelijk heb omschreven

thx in advance

AsinuS

Legacy Member
Ik weet niet hoe het zit met MySQL maar in MSSQL moet je gewoon geen waarde meegeven voor je autonumeriek veld. Miischien is NULL een oplossing voor MySQL

grtz

SMa

Legacy Member
http://dev.mysql.com/doc/refman/5.0/en/insert.html
=> oplossing voor MySQL
INSERT INTO tbl_name (col1_name, col12_name,...) VALUES (valueCol1, valueCol2, ...);

:edit:
wat je dus doet in je stukje code :p

je bent wel de quotes vergeten voor niet-numerieke waarden ;)
je error zegt wrs iets over "column not found..." omdat hij die gegeven strings als kolommen interpreteert wanneer er geen quotes rond staan

en als dat nog niets oplost, echo dan eens iedere query dan zie je meteen wat je er probeert in te pompen ;)

Ble$$ed^

Legacy Member
SMa zei:
http://dev.mysql.com/doc/refman/5.0/en/insert.html
=> oplossing voor MySQL
INSERT INTO tbl_name (col1_name, col12_name,...) VALUES (valueCol1, valueCol2, ...);

:edit:
wat je dus doet in je stukje code :p

je bent wel de quotes vergeten voor niet-numerieke waarden ;)
je error zegt wrs iets over "column not found..." omdat hij die gegeven strings als kolommen interpreteert wanneer er geen quotes rond staan

en als dat nog niets oplost, echo dan eens iedere query dan zie je meteen wat je er probeert in te pompen ;)

werkt ;) thx
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan