Здравствуйте, есть скрипт который из CSV переносит данные в БД. Всё работает но не получается сделать что бы при добавлении новой записи если уже существует такая строка он просто перезаписал её, а если нет то просто записал. Помогите.
<?php
class CSV {
private $_csv_file = null;
public function __construct($csv_file) {
if (file_exists($csv_file)) { //Если файл существует
$this->_csv_file = $csv_file; //Записываем путь к файлу в переменную
}
else {
throw new Exception("Файл \"$csv_file\" не найден");
}
}
// Метод для чтения из csv-файла. Возвращает массив с данными из csv
public function getCSV() {
$handle = fopen($this->_csv_file, "r"); //Открываем csv для чтения
$array_line_full = array(); //Массив будет хранить данные из csv
//Проходим весь csv-файл, и читаем построчно. 3-ий параметр разделитель поля
while (($line = fgetcsv($handle, 0, ";")) !== FALSE) {
$array_line_full[] = $line; //Записываем строчки в массив
}
fclose($handle); //Закрываем файл
return $array_line_full; //Возвращаем прочтенные данные
}
}
try {
$csv = new CSV("dick.csv"); //Открываем наш csv
//Чтение из CSV (и вывод на экран)
$get_csv = $csv->getCSV();
$connection=mysql_connect ("localhost", "111", "222");
$db1=mysql_select_db ("namebd", $connection); //подкл к имеющейся бд
// $del="DELETE FROM las";
// $result=mysql_query ($del);//удаление из БД
foreach ($get_csv as $value) { //Проходим по строкам файла CSV
$available = $value[0];
$categoryId = $value [1];
$currencyId = $value[2];
$delivery = $value[3];
$description = $value[4];
$id = $value[5];
$model = $value[6];
$modified_time = $value[7];
$name = $value[8];
$param = $value[9];
$pickup = $value[10];
$picture = $value[11];
$price = $value[12];
$store = $value[13];
$type = $value[14];
$typePrefix = $value[15];
$url = $value[16];
$vendor = $value[17];
$query="insert into pudra values('$available','$categoryId', '$currencyId', '$delivery', '$description', '$id', '$model', '$modified_time ', '$name', '$param', '$pickup', '$picture', '$price', '$store', '$type', '$typePrefix', '$url', '$vendor')";
$result=mysql_query($query); //добавл данных
}
if($result) echo "Обновление успешно завершено OK";
else echo"error";
}
catch (Exception $e) { //Если csv файл не существует, выводим сообщение
echo "Ошибка ERROR: " . $e->getMessage();
}
?>