좋아을 확인 후 배열에 도착 참조, 그렇게 할 수 있습니다. 나는 보통 PHP의 까다로운 fgetcsv()보다는 fopen/fgets를 사용하지만, 중복 값을 확인하기 위해해야 할 일은 위에있는 것과 비슷하다. 고유 한 필드가 무엇인지 알았다면 예제를 제공하는 것이 더 쉬울 것이지만,
$check = mysql_query("SELECT `x` FROM `table` WHERE `x` = '$uniquecsvfield' LIMIT 1");
//LIMIT 1 will stop it from searching for more, since you only need to know if one result exists.
//If you don't do LIMIT 1 then it will go through the whole table even if it finds one.
//Can also do 'WHERE x = $uniquecsvfield1 AND y = $uniquecsvfield2, whatever, depending on how
//many Fields need to be unique
if(mysql_num_rows($check) == 0) //If no rows are returned
{
mysql_query("INSERT INTO `table` VALUES blah blah blah"); //Insert
}
//Since you're gonna be processing the whole file, probably don't need to do anything if there is a
//duplicate, it just won't insert it.
//You could do an else that echo out "Duplicate found" or whatever
삽입하기 전에 확인해야합니다. – fvgf
$ linemysql = implode (" ','", $ linearray); $ newlinemysql = str_replace ('\ n', ", $ linemysql); 경우의 ($ addauto) { 스위치 ($의 databasetable) { 경우 ("DocumentID") $ duplicatevals = "DocumentID = VALUES (DocumentID)"; 휴식; } $ 질의 = "("$의 newlinemysql ') $ duplicatevals "DUPLICATE KEY UPDATE ON 를 $ databasetable 값 삽입"; } 다른 { $ 쿼리 = "$ databasetable 값으로 $ duplicatevals DUPLICATE KEY UPDATE ON ('$의 linemysql') 삽입"을; } 위의 스크립트를 사용했지만 오류가 발생했습니다 $ duplicatevals = "DocumentID = VALUES (DocumentID)"; 예기치 = – fvgf