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行正确插入”有什么问题?这是不对的? –