Met behulp van de volgende query lees in een txt bestand in in mijn tabel.
<?php
if ($lastupdate_value['maxtimestamp'] < $timeout) {
$file = file("downld02.txt");
$data = array_slice ($file, 3, count ($file) - 3);
for ($i = 0; $i < count ($file) - 3; $i++) {
$row = preg_split ("/ +/", trim ($data[$i]));
$dateArray = explode("-", "$row[0]");
$newdate = date('Y-m-d', mktime(0, 0, 0, $dateArray[1], $dateArray[0], $dateArray[2]));
for ($r=2;$r<=4;$r++){
if($row[$r] == '---'){
$row[$r] = NULL;
$data_insert = "INSERT INTO weerdata VALUES ('$newdate', '$row[1]', '$row[2]', '$row[3]', '$row[4]', '$row[5]', '$row[6]', '$row[7]', '$row[8]', '$row[9]', '$row[10]', '$row[11]', '$row[12]', '$row[13]', '$row[14]', '$row[15]', '$row[16]', '$row[17]', '$row[18]', '$row[19]', '$row[20]', '$row[21]', '$row[22]', '$row[23]', '$row[24]', '$row[25]', '$row[26]', '$row[27]', '$row[28]', '$row[29]', '$row[30]', '$row[31]', '$row[32]', '$row[33]', '$row[34]', '$row[35]', '$row[36]', '$timestamp')";
$result = mysql_query($data_insert);
}else{
$data_insert = "INSERT INTO weerdata VALUES ('$newdate', '$row[1]', '$row[2]', '$row[3]', '$row[4]', '$row[5]', '$row[6]', '$row[7]', '$row[8]', '$row[9]', '$row[10]', '$row[11]', '$row[12]', '$row[13]', '$row[14]', '$row[15]', '$row[16]', '$row[17]', '$row[18]', '$row[19]', '$row[20]', '$row[21]', '$row[22]', '$row[23]', '$row[24]', '$row[25]', '$row[26]', '$row[27]', '$row[28]', '$row[29]', '$row[30]', '$row[31]', '$row[32]', '$row[33]', '$row[34]', '$row[35]', '$row[36]', '$timestamp')";
$result = mysql_query($data_insert);
$forecast = "INSERT INTO forecast VALUES ('$date', '$realtime', '$ForecastStr', '$timestamp')";
$result_forecast = mysql_query($forecast);
}
}
}
}
?>
Op een enkele regel in het txt bestand ontbreekt er een waarde en staat er '---'. Om te voorkomen dat ik in mijn tabel de waarde 0.0 krijg controleer ik of er de waarde '---', voorkomt en zo ja, dan moet deze worden vervangen door NULL. In mijn tabel staan de betreffende kolommen ingesteld op NULL met default NULL. Toch wordt er bij het uitvoeren van de query 0.0 toegevoegd in mijn tabel. Wat gaat niet goed?
1.146 views