0
解析CSV時
我使用PHP
下面的代碼讀取CSV
文件行:讀多了一個PHP
$file = fopen("customers.csv", "r");
while (!feof($file))
{
$rr = fgetcsv($file);
$name = $rr[0];
$surname = $rr[1];
$sql = 'INSERT INTO customer SET ...';
...
$s->execute();
}
fclose($file);
的代碼將插入在CSV
文件中的所有記錄到customer
表, 但它試圖用NULL
值更多地插入一行並失敗。
如何更正代碼以便在customers.csv
文件中只插入 的行數?
檢查'$ name'是否爲空,並且不要插入,如果它是 – 2014-11-08 15:51:54
你可以簡單的使用while( $ rr = fgetcsv($ file))!== false)'而不是 - 當fgetcsv到達文件末尾時它將返回false。 – CBroe 2014-11-08 15:56:40
而不是手動'fgetcsv'ing,而是使用帶有:: READ_CSV和:: SKIP_EMPTY的'SplFileObject' foreach。 – mario 2014-11-08 15:56:50