0
我已經成功從csv中獲取數據到數據庫中,但由於某些原因,查詢產生的結果與csv中列數相同的結果相同。CSV數據庫輸入導致每列一行
<?php
$host="localhost";
$user="general";
$pass="gretna22607";
$db="general";
$con=mysqli_connect($host, $user, $pass) or die ('Error connecting to mysql' . mysqli__error());
mysqli_select_db($con,$db) or die ('Error connecting to database' . mysqli__error());
$empty="TRUNCATE csvimport";
mysqli_query($con,$empty);
$csvdata = file_get_contents('http://www.overclockers.co.uk/productfeed/b2b_cs312.csv');
$csv_file="ocuk.csv";
if (($getfile = fopen($csv_file, "r")) !== FALSE)
{
while (($data = fgetcsv($getfile, 1000, ",")) !== FALSE)
{
$num = count($data);
for ($a=0; $a < $num; $a++)
{
$results=$data;
$str = implode(",", $results);
$slice = explode(",", $str);
$col1 = $slice[0];
$col2 = $slice[1];
$col3 = $slice[2];
$col4 = $slice[3];
$col5 = $slice[4];
$col6 = $slice[5];
$col7 = $slice[6];
// SQL Query to insert data into DataBase
//$query = "INSERT INTO csvimport (tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7) VALUES('".$col1."','".$col2."','".$col3."','".$col4."','".$col5."','".$col6."','".$col7."')".";";
//$query = "INSERT INTO csvimport VALUES('".$col1."','".$col2."','".$col3."','".$col4."','".$col5."','".$col6."','".$col7."','','','')".";";
//mysqli_query($con,$query);
}
$query = "INSERT INTO csvimport (tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7) VALUES('".$col1."','".$col2."','".$col3."','".$col4."','".$col5."','".$col6."','".$col7."')".";";
mysqli_query($con,$query);
}
}
fclose($csv_file);
mysqli_close();
?>
例如
,如果我回應查詢
第一個會是這樣
insert into csvimport ('test','test','test','','','','');
insert into csvimport ('test2','test2','test2','','','','');
insert into csvimport ('test3','test3','test3','','','','');
insert into csvimport ('test4','test4','test4','','','','');
insert into csvimport ('test','test','test','','','','');
insert into csvimport ('test','test','test','','','','');
insert into csvimport ('test2','test2','test2','','','','');
insert into csvimport ('test2','test2','test2','','','','');
我希望它只是採取CSV的每一行一次,其輸入到所有7列的數據庫中
之外一旦它運行完畢生病後的更新,問題一個固定的,但它已經推出了一個新的問題:( –
都能跟得上它仍然是這樣做,而不是一個接一個地在重新運行它們之前現在正在運行其他語句,實際上它似乎進入了無限循環 –
@AndrewCrawford我不知道你的意思是通過運行其他語句...... – raidenace