0
我正在使用下面的PHP代碼將大容量插入SQL Server中的數據庫表中。我已經有一臺名爲ShopifyItem
(25列),但是當我使用此代碼我將csv文件插入到SQL Server數據庫表中
未定義抵消:24
錯誤消息,並且在Item
表我只看到 (26行插入正確),即使csv文件在行中也有超過1,000個。
誰能告訴我什麼是錯的?
PHP代碼:
$server = "**\**,1433";
$connectionInfo = array("Database"=>"**", "UID"=>"**", "PWD"=>"**");
$conn = sqlsrv_connect($server, $connectionInfo);
if($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
$file_handle = fopen("Table.csv", "r");
while (!feof($file_handle)) {
$line_of_text = fgetcsv($file_handle, 1024);
$tsql = "INSERT INTO Item (Handle, Title, [Body(HTML)], Vendor, [Type], Tags, [Option1 Name],[Option1 Value], [Option2 Name], [Option2 Value], [Option3 Name], [Option3 Value], [Variant SKU], [Variant Grams], [Variant Inventory Tracker],[Variant Inventory Qty], [Variant Inventory Policy], [Variant Fulfillment Service], [Variant Price], [Variant Compare At Price], [Variant Requires Shipping], [Variant Taxable], [Image Src], HQID, WebPrice)
VALUES ('$line_of_text[0]','$line_of_text[1]', '$line_of_text[2]', '$line_of_text[3]', '$line_of_text[4]', '$line_of_text[5]', '$line_of_text[6]', '$line_of_text[7]', '$line_of_text[8]', '$line_of_text[9]', '$line_of_text[10]', '$line_of_text[11]', '$line_of_text[12]', '$line_of_text[13]', '$line_of_text[14]', '$line_of_text[15]', '$line_of_text[16]', '$line_of_text[17]', '$line_of_text[18]', '$line_of_text[19]', '$line_of_text[20]', '$line_of_text[21]', '$line_of_text[22]', '$line_of_text[23]', '$line_of_text[24]')";
if(sqlsrv_query($conn, $tsql))
{
echo "Statement executed.\n";
}
else
{
echo "Error in statement execution.\n";
die(print_r(sqlsrv_errors(), true));
}
}
我會得到正確的答案,這樣我有12%的機會得到我的答案。 –
你說得對,我的道歉。 – Max
我不做PHP,所以我不確定你在這裏做什麼,但也許你的CSV文件中的數據有問題。 「26行正確插入」有什麼問題?這是不對的? –