moin, moin
ich bins schon wieder einmal. Ich hab nun den ganzen Tag gesucht und verzweifel langsam. Mein Problem: ich übertrage Daten von einer CSV-Datei in eine Datenbank. Nun möchte ich, dass mein Script vorher prüft, ob der Datensatz schon vorhanden ist oder nicht. Es sollen nur die Datensätze eingetragen werden, die noch nicht in der Datenbank sind. Ich hab es mit folgendem Script versucht:
Es kommen keine Fehlermeldungen. Er meldet mir viermal, schon vorhanden, obwohl die Datensätze noch nicht in der Datenbank sind. Kann mir vielleicht jemand einen Hinweis geben, wo mein Fehler liegt?
Gruß Stoner
ich bins schon wieder einmal. Ich hab nun den ganzen Tag gesucht und verzweifel langsam. Mein Problem: ich übertrage Daten von einer CSV-Datei in eine Datenbank. Nun möchte ich, dass mein Script vorher prüft, ob der Datensatz schon vorhanden ist oder nicht. Es sollen nur die Datensätze eingetragen werden, die noch nicht in der Datenbank sind. Ich hab es mit folgendem Script versucht:
PHP-Code:
<?php
$datei=fopen($db_File,"r");
$daten=fread($datei,filesize($db_File));
fclose($datei);
$datensaetze=explode("\n",$daten);
$result = array_unique ($datensaetze);
mysql_connect($db_Hostname, $db_UserName, $db_Password) || die("Can't Connect to Database: ".mysql_error());
mysql_select_db($db_Database) || die("FEHLER ".mysql_error());
for($i=1;$i<sizeof($result);$i++)
{
$result[$i]=str_replace('"','',$result[$i]);
$result[$i]=str_replace(',','.',$result[$i]);
$datenfeld[$i]=explode(";",$result[$i]);
$suchen = mysql_query ("SELECT nummer FROM partner_clean WHERE `nummer` !='.$datenfeld[$i][0].'
AND partner_id='adbutler'")|| die("FEHLER ".mysql_error());
if (!$suchen)
{
$eintrag = "INSERT INTO partner_clean (nummer, programm, datum, id_kunde, betrag, k_status, partner_id)
VALUES('".$datenfeld[$i][0]."','".$datenfeld[$i][1]."','".$datenfeld[$i][2]."','".$datenfeld[$i][3]."',
'".$datenfeld[$i][4]."','".$datenfeld[$i][5]."','adbutler')";
$eintragen = mysql_query($eintrag);
}
else
{
echo "Schon vorhanden";
}
}
$sql = mysql_query ("UPDATE partner_clean SET k_status='offen' where k_status='best„tigt' AND partner_id='adbutler'");
$sql = mysql_query ("DELETE FROM partner_clean WHERE k_status ='' AND partner_id = 'adbutler'");
$sql = mysql_query ("DELETE FROM partner_clean WHERE k_status !='offen' AND partner_id='adbutler'");
$typ1 = mysql_query ("UPDATE partner_clean SET typ='oA' where typ='' AND partner_id='adbutler'");
mysql_close();
?>
Gruß Stoner
Kommentar