我正在通過PHP使用fgetcsv()讀取.csv文件。現在我能夠獲取我的意思是從.csv文件讀取數據。 然後我需要檢查SKU列,因此我的提取結果&因此必須執行插入或更新。 假設SKU已經存在,那麼我必須在表中更新我的行,否則我需要插入新記錄。 我寫下面的代碼... PLZ勾選ñ告訴我在哪裏,我在做mistake-:如何從Mysql_fetch_array中獲取單行/數據?
<?php
$row = 1;
if (($handle = fopen("localhost/data/htdocs/magento/var/import/Price.csv", "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 8000, ",")) !== FALSE)
{
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
for ($c=0; $c < $num; $c++)
{
$temp = $data;
$string = implode(";", $temp);
}
$pieces = explode(";", $string);
$col1 = $pieces[0];
$col2 = $pieces[1];
$col3 = $pieces[2];
$col4 = $pieces[3];
$db_name = "magento";
$con = mysql_connect("localhost", "magento", "password");
If (!$con)
{
die('Could not connect: ' . mysql_error());
mysql_close($con);
}
$seldb = mysql_select_db($db_name, $con);
$query_fetch = "SELECT `sku` from `imoprt_prices`";
$result_fetch = mysql_query($query_fetch);
$num_rows = mysql_num_rows($result_fetch);
for($i = 0; $i < $num_rows; $i++)
{
$value = mysql_result($result_fetch, i, 'sku');
if(strcmp('".$value."', '".$col2."') == 0)
{
$flag = 1;
break;
}
else
{
$flag = 0;
break;
}
}
if($flag == 1)
{
$query_upadte = "(UPDATE imoprt_prices SET customer_id= '".$col1."', sku ='".$col2."', price= '".$col3."', website= '".$col4."'
)";
mysql_query($query_upadte);
$row++;
}
if($flag == 0)
{
mysql_query("INSERT INTO `imoprt_prices`(`customer_id`,`sku`,`price`,`website`) VALUES('".$col1."','".$col2."','".$col3."','".$col4."')");
$row++;
}
}
}
?>
您是否有SKU上的唯一索引以避免重複?或者是否可以添加一個? – 2012-04-03 07:08:13
SKU是獨一無二的...這就是爲什麼需要更新現有的SKU .. – Prat 2012-04-03 07:15:13
當你運行它時,你得到的錯誤是什麼? – Rocky 2012-04-03 07:16:48