我正在尝试将数据从csv文件导入mysql table.from下面的代码我可以将我的csv数据导入到mysql表中。在该mysql表中有一个名为" ord" 的列,在从csv到mysql表的数据上传过程中,每次都应该具有相同的唯一ID(需要递增1)。我试过更新查询,但增加后,它给其他下一次上传提供相同的唯一编号。不知道我哪里出错了,需要你的建议来纠正我的代码。
$connect = mysql_connect('localhost','root','');
if (!$connect) {
die('Could not connect to MySQL: ' . mysql_error());
}
//your database name
$cid =mysql_select_db('upload',$connect);
// path where your CSV file is located
define('CSV_PATH','D:/');
// Name of your CSV file
$csv_file = CSV_PATH . "Book1.csv";
if (($handle = fopen($csv_file, "r")) !== FALSE) {
fgetcsv($handle);
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
for ($c=0; $c < $num; $c++) {
$col[$c] = $data[$c];
}
$col1 = $col[0];
$col2 = $col[1];
$col3 = $col[2];
$col4 = $col[3];
$col5 = $col[4];
// SQL Query to insert data into DataBase
$query = "INSERT INTO unique_entry(ord,size,colour,qty,Creation_Date) VALUES('".$col1."','".$col2."','".$col3."','".$col4."',now())";
$s = mysql_query($query, $connect );
}
mysql_query("
UPDATE unique_entry
SET ord= ' ".$col1." ' + 1
WHERE Creation_Date = now()
");
fclose($handle);
}
echo "File data successfully imported to database!!";
mysql_close($connect);
&#13;
答案 0 :(得分:1)
您正在while循环之外编写更新查询。因此查询不会一直执行。仅限最后一个条目,它将更新。所以我们可以做两件事。 1)在while循环中包含更新查询。 2)在插入查询和执行查询之前增加$ col1值。然后它适用于所有条目。