@jenya7771

Почему в бд записываются не все строки?

Здравствуйте, я уже задавал вопросы по этому скрипту, сейчас у меня возникла проблема, что в файле CSV из которого берётся информация 200 строк, а в бд записывается только 195, а когда было 250 строк записывалось 244, в чём может быть дело?
<?php include_once  "config.php"; ?>
<?PHP header("Content-Type: text/html; charset=utf-8");?>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<?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 (HOST, USER, PASS);
    $db1 = mysql_select_db (DB, $connection); //подкл к имеющейся бд
 // $del="DELETE FROM pudra"; 
 // $result=mysql_query ($del);//удаление из БД

    mysql_query("set names utf8");

    $query = "SELECT id FROM `pudra`";
    $res = mysql_query($query);

$arrayRow = array();

        while($row = mysql_fetch_array($res)){
            echo "id из базы:".$row['id']."<br>\n";
            array_push($arrayRow, $row['id']);
        };

    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];
        $in_sitemap = 0;

        if (in_array($id, $arrayRow, true)) {
            echo "Перезаписал id: ".$id."<br>";
            $update = "UPDATE users SET available = '$available', categoryId = '$categoryId', currencyId = '$currencyId', delivery = '$delivery', description = '$description', model = '$model', modified_time = '$modified_time', name = '$name', param = '$param', pickup = '$pickup', picture = '$picture', price = '$price', store = '$store', type = '$type', typePrefix = '$typePrefix', url = '$url', vendor = '$vendor', in_sitemap = '$in_sitemap' WHERE id = '$id'";
        } else{
            echo "Записал id: ".$id."<br>";
            $query="insert into pudra values('$available','$categoryId', '$currencyId', '$delivery', '$description', '$id', '$model', '$modified_time   ', '$name', '$param', '$pickup', '$picture', '$price', '$store', '$type', '$typePrefix', '$url', '$vendor', '$in_sitemap')";
        $result = mysql_query($query); //добавл данных

        $namesites = "http://sanerix.tk";
        $link = $namesites."/?id=".$id."\r\n";

        $fp = fopen("sitemap.txt", "a"); // Открываем файл в режиме записи 
        $test = fwrite($fp, $link); // Запись в файл
    };

};

if($result) echo "Обновление успешно завершено,<br>";
else echo"Ошибка при обновлении!<br>";

    fclose($fp); //Закрытие файла
    if ($test) echo 'Данные в карту сайта успешно занесены.';
    else echo 'Ошибка при записи в карту сайта!';
}



catch (Exception $e) { //Если csv файл не существует, выводим сообщение
	echo "Ошибка: " . $e->getMessage();
}

mysql_close();
?>
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 1
@jenya7771 Автор вопроса
И вот такой ответ, те которые типо он записал, они не записаны в БД, и ответ mysql_query($query) ошибка
id из базы:25610
id из базы:11111
id из базы:34230
id из базы:37514
id из базы:38540
id из базы:39405
id из базы:39435
id из базы:40571
id из базы:43005
id из базы:43391
id из базы:44396
id из базы:44455
id из базы:44400
id из базы:48181
id из базы:43184
id из базы:50676
id из базы:53059
id из базы:52518
id из базы:55764
id из базы:55769
id из базы:54820
id из базы:57553
id из базы:62030
id из базы:62029
id из базы:20891
id из базы:16195
id из базы:51634
id из базы:18571
id из базы:25193
id из базы:25195
id из базы:25197
id из базы:26262
id из базы:35360
id из базы:35897
id из базы:36118
id из базы:41776
id из базы:42072
id из базы:44692
id из базы:46124
id из базы:47748
id из базы:48300
id из базы:50453
id из базы:54525
id из базы:54521
id из базы:21512
id из базы:25571
id из базы:32315
id из базы:32565
Записал id: 12345
Перезаписал id: 25610
Перезаписал id: 11111
Перезаписал id: 34230
Перезаписал id: 37514
Перезаписал id: 38540
Перезаписал id: 39405
Перезаписал id: 39435
Перезаписал id: 40571
Перезаписал id: 43005
Перезаписал id: 43391
Перезаписал id: 44396
Перезаписал id: 44455
Перезаписал id: 44400
Перезаписал id: 48181
Перезаписал id: 43184
Перезаписал id: 50676
Перезаписал id: 53059
Перезаписал id: 52518
Перезаписал id: 55764
Перезаписал id: 55769
Перезаписал id: 54820
Перезаписал id: 57553
Перезаписал id: 62030
Перезаписал id: 62029
Перезаписал id: 20891
Перезаписал id: 16195
Перезаписал id: 51634
Перезаписал id: 18571
Перезаписал id: 25193
Перезаписал id: 25195
Перезаписал id: 25197
Перезаписал id: 26262
Перезаписал id: 35360
Перезаписал id: 35897
Перезаписал id: 36118
Записал id: 41603
Перезаписал id: 41776
Перезаписал id: 42072
Перезаписал id: 44692
Перезаписал id: 46124
Перезаписал id: 47748
Перезаписал id: 48300
Перезаписал id: 50453
Перезаписал id: 54525
Перезаписал id: 54521
Перезаписал id: 21512
Перезаписал id: 25571
Перезаписал id: 32315
Перезаписал id: 32565
Ошибка при обновлении!
Данные в карту сайта успешно занесены.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы