-1

次の形式の csv ファイルからデータをインポートしようとしています。

173,antony,xds1079,Antony,Pran,Pran Antony,,452522252,,,,antpran@hotmail.com,,,,,Yes,Yes,No,pricelist.xls
18,john,smithison22,John,Smith,Smith Jon,,545455726,,,,johnsmith01@in.com,,,,,Yes,Yes,No,pricelist.xls
22,nikolas,Brand44eBerg,Nikolas,Brandeberg,Brandeberg and sons ,,454554552,,,,brand88@freemail.co.uk,,,,,Yes,Yes,No,pricelist.xls

mySQL に挿入すると、最初の行の最後のフィールドに と の両方 含まれていました。ただし、これは id フィールドであるため、次の行に移動する必要があります。pricelist.xls1818

使用したphpコードは次のとおりです。

if ($_FILES[csv][size] > 0) {

//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");


//loop through the csv file and insert into database
do {
    if ($data[0]) {
        mysql_query("INSERT INTO customers_tmp (id,username, password, firstname, lastname, companyname, companyposition, phone1, phone2, mobilephone, fax, email, address, afm, doy, website, active, wholesaling , wholesaling_bulk , pricecatalog) VALUES
            (
                '".addslashes($data[0])."',
                '".addslashes($data[1])."',
                '".addslashes($data[2])."',
                '".addslashes($data[3])."',
                '".addslashes($data[4])."',
                '".addslashes($data[5])."',
                '".addslashes($data[6])."',
                '".addslashes($data[7])."',
                '".addslashes($data[8])."',
                '".addslashes($data[9])."',
                '".addslashes($data[10])."',
                '".addslashes($data[11])."',
                '".addslashes($data[12])."',
                '".addslashes($data[13])."',
                '".addslashes($data[14])."',
                '".addslashes($data[15])."',
                '".addslashes($data[16])."',
                '".addslashes($data[17])."',
                '".addslashes($data[18])."',
                '".addslashes($data[19])."'                                                                                                                                                                                                                                      
            )
        ");
    }
} while ($data = fgetcsv($handle,1000,",","'"));
//

//redirect
header('Location: import.php?success=1'); die;

}

IDが最後のフィールドではなく次の行に入るように、私が何をすべきか知っている人はいますか?

4

1 に答える 1

0

他の誰かがこの解決策を必要とする可能性がある場合に備えて、私の問題を解決した方法は次のとおりです。

ini_set('auto_detect_line_endings', true);

よろしく、ゾラン

于 2012-12-13T10:08:44.700 に答える