Загрузить CSV-файл в базу данных, но последний поданный добавить еще один пустой данные

Я загружаю CSV-файл в базу данных, это сделано, но когда я загружаю CSV-файл и показываю таблицу данных, это загружает еще одну строку в таблицу. как я загружаю 10 данных, но вставляю 11 строк в таблицу данных.

 // path where your CSV file is located
define('csvfile/',
        'plivo/dialer/csvfile/');
  // Name of your CSV file
$csv_file = $target_dir . "$file";
if (($handle = fopen($csv_file,
        "r")) !== FALSE) {
    fgetcsv($handle);
    while (($data = fgetcsv($handle,
    1000,
    ",")) !== FALSE) {
        $num = count($data);
        for ($c = 0;
                $c < $num;
                $c++) {
            $col[$c] = $data[$c];
        }
       echo '<br>'. $col1 = $col[0];
        echo 'data'.$col1.'<br>';
        if($col1 != ' ' || $col1 != NULL){
            // SQL Query to insert data into DataBase
       $query = "INSERT INTO callblast(`callerid`, `phoneno`, `playurl`,`campaignid`) VALUES('$caller_id','" . $col1 . "','$play_url','$row_id')";
        print_r("INSERT INTO callblast(`callerid`, `phoneno`, `playurl`,`campaignid`) VALUES('$caller_id','" . $col1 . "','$play_url','$row_id')");
        $s = mysql_query($query);
        if ($s) {
            echo 'pass';
            header("location:dashboard.php");
        } else {
            echo 'fail<br>';
        }
        }            
    }
    fclose($handle);
}

когда я показываю запрос на печать

 1data1
 INSERT INTO callblast(`callerid`, `phoneno`, `playurl`,`campaignid`) VALUES('9988776655','1','www.test.com','15')

2data2
INSERT INTO callblast(`callerid`, `phoneno`, `playurl`,`campaignid`) VALUES('9988776655','2','www.test.com','15')

3data3
INSERT INTO callblast(`callerid`, `phoneno`, `playurl`,`campaignid`) VALUES('9988776655','3','www.test.com','15')

4data4
INSERT INTO callblast(`callerid`, `phoneno`, `playurl`,`campaignid`) VALUES('9988776655','4','www.test.com','15')

5data5
INSERT INTO callblast(`callerid`, `phoneno`, `playurl`,`campaignid`) VALUES('9988776655','5','www.test.com','15')

data
INSERT INTO callblast(`callerid`, `phoneno`, `playurl`,`campaignid`) VALUES('9988776655','','www.test.com','15')

последние данные были добавлены

что является проблемой для добавления строки в базу данных.

Пожалуйста помоги.

Спасибо.

1 ответ

Решение

Вы должны проверить $col1 != ' ' сюда: trim($col1) != ''потому что последняя строка файла содержит EOF/EOL и больше пробелов / табуляций.

Другие вопросы по тегам