2013-05-02 48 views
0

嘗試使用php命令fcsvget將一些數據從csv文件插入到mysql表中,但是出現的時間短,任何人都可以告訴我哪裏出錯了。即時獲取沒有數據進入和加載頁面時出現錯誤。將不同數量的列的csv文件插入到mysql表中

csv文件具有不同的標題名稱和表格數量。

這是我的代碼到目前爲止。

<?php 

// set local variables 
$connect = mysql_connect("localhost","db","password") or die('Could not connect: ' . mysql_error()); 
$handle = fopen("test.csv", "r"); 

// connect to mysql and select database or exit 
mysql_select_db("db", $connect); 

// loop content of csv file, using comma as delimiter 

while (($data = fgetcsv($handle, 1000, ",")) !== false) { 
$Product_ID = $data[0]; 
$Model = $data[1]; 

// entry insert 
$query = "INSERT into products_test (products_id, products_model) VALUES '$Product_ID', $Model"; 


mysql_query($query); 
if (mysql_affected_rows() <= 0) { 

// no rows where affected by update query 
} 
} else { 
// entry doesn't exist continue or insert... 
} 

mysql_free_result($result); 
} 

fclose($handle); 
mysql_close($connect); 

?> 
+0

你得到的錯誤是什麼? – Ergec 2013-05-02 13:55:31

+0

HTTP錯誤500(內部服務器錯誤):服務器試圖完成請求時遇到意外情況。 – 2013-05-02 13:59:54

回答

0

檢查你的代碼。該

} else { 
    // entry doesn't exist continue or insert... 
    } 

沒有任何效果,因爲沒有IF開始爲這一點。一個

if (mysql_affected_rows() <= 0) { 

    // no rows where affected by update query 
    } 

「Else」聲明之前已經關閉。我無法進入你的查詢,但這是我第一次看到的

+0

擺脫了他們的位,錯誤消失了,但沒有插入,感謝一些更糟糕的混亂。如果我回顯$ Product_ID,則返回 – 2013-05-02 14:02:13

+0

;我收到'Product_ID'2055332391621112073922timedia! '45937721684786886379388637948863795886379679395867939607其獲得一些價值與''而不是其他人 – 2013-05-02 14:12:39

0
while (($data = fgetcsv($handle, 10000, "|")) !== false) { 
$Product_ID = $data[0]; 
$Model = $data[1]; 
$HighPic = $data[2]; 
$ManuId = $data[3]; 
$parent_id = $data[7]; 
$Image = $data[13]; 
$Price = $data[14]; 
$Supplier = $data[15]; 
$Stock = $data[17]; 



// entry insert 
$query = "INSERT into products_test (products_id, products_model, products_image, manufacturers_id, products_parent_id, icecat_manfimg, products_price, icecatcode, products_quantity) VALUES ($Product_ID, $Model, $HighPic, $ManuId, $parent_id, $Image, $Price, $Supplier, $Stock)" ; 

mysql_query($query); 
} 

mysql_free_result($result); 


fclose($handle); 
mysql_close($connect); 

?>