Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/MySQL插入错误列_Php_Mysql - Fatal编程技术网

PHP/MySQL插入错误列

PHP/MySQL插入错误列,php,mysql,Php,Mysql,我编写的代码使用特定的.cvs格式,它使用的是我拥有的文件格式。现在.cvs文件的格式已更改 所以现在看起来好像一切都在插入,但它已经转移了。更具体地说,所有的东西都移到了右边的一整列 我能够修改代码,使其进一步向右移动,但无法将其向左移动 下面是我的代码中存在问题的部分: if($deleteSuccess == 1){ echo "Now inserting all new records"; $handle = fopen($target_file, "r");

我编写的代码使用特定的.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>";
if($deleteSuccess==1){
echo“现在插入所有新记录”;
$handle=fopen($target_文件,“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`、`availability`、`Picture`)值(`$Name`、`correct1`、`correct2`、`correct3`、`correct4`、`correct5`、`correct6`、`correct7');
$count=$count+1;
mysqli_查询($conn,$import);
if(mysqli_错误($conn)){
echo“
与-->”$import有关的问题。”
”;

谢谢。

如果所有内容都移到了右边的一列,那么以前在
$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]);

我建议对变量使用更具描述性的名称,比如
$dvd_num
之类的,因为您现在使用的方式有点让人费解。为什么要使用
$name
而不是
$correct0
?而且,如果没有
cr这两件我们需要的东西,您很难复制任何错误eate table
对于您正在使用的表和您试图使用的文件副本(或只是添加到帖子中的字符串版本),感谢您发布状态报告。看起来您只是在分享您的开发工作的当前状态。可能我错过了它……但您有什么问题想问吗?