编写我的代码以使用特定的.cvs格式,它适用于我拥有的文件格式。现在.cvs文件的格式已经改变。
所以现在看起来一切都在插入,但它已经转移了。更具体地说,一切都向右移动了一整列。
我能够修改代码使其进一步向右移动,但是我向左移动它是不成功的。
这是我的代码中存在问题的部分:
if($deleteSuccess == 1){
echo "Now inserting all new records";
$handle = fopen($target_file, "r");
$count = 0;
while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {
$name = $data[0];
$correct0 = str_replace("'", "", $name);
$correct1 = str_replace("'", "", $data[1]);
$correct2 = str_replace("'", "", $data[2]);
$correct3 = str_replace("'", "", $data[3]);
$correct4 = str_replace("'", "", $data[4]);
$correct5 = str_replace("'", "", $data[5]);
$correct6 = str_replace("'", "", $data[6]);
$correct7 = str_replace("'", "", $data[7]);
$import="INSERT into DVDCatalog.testtable(`Volume Name`,`DVD Number`,`Type`,`Category`,`Date`,`Author`,`Availablity`,`Picture`) values('$name','$correct1','$correct2','$correct3','$correct4','$correct5','$correct6','$correct7')";
$count = $count + 1;
mysqli_query($conn, $import);
if(mysqli_error($conn)){
echo "<br> Problem with --> ".$import."<br>";
感谢。
答案 0 :(得分:0)
如果所有内容都向右移动了1列,那么以前在$data[0]
,$data[1]
等中的数据现在位于$data[1]
,$data[2]
要获得与以前相同的插入数据,您不应该对$data[0]
执行任何操作,因为这是添加到CSV文件但不对应的新字段旧格式。
所以它应该是:
$correct0 = str_replace("'", "", $data[1]);
$correct1 = str_replace("'", "", $data[2]);
$correct2 = str_replace("'", "", $data[3]);
$correct3 = str_replace("'", "", $data[4]);
$correct4 = str_replace("'", "", $data[5]);
$correct5 = str_replace("'", "", $data[6]);
$correct6 = str_replace("'", "", $data[7]);
$correct7 = str_replace("'", "", $data[8]);