PHP/MySQL插入错误列
我编写的代码使用特定的.cvs格式,它使用的是我拥有的文件格式。现在.cvs文件的格式已更改 所以现在看起来好像一切都在插入,但它已经转移了。更具体地说,所有的东西都移到了右边的一整列 我能够修改代码,使其进一步向右移动,但无法将其向左移动 下面是我的代码中存在问题的部分:PHP/MySQL插入错误列,php,mysql,Php,Mysql,我编写的代码使用特定的.cvs格式,它使用的是我拥有的文件格式。现在.cvs文件的格式已更改 所以现在看起来好像一切都在插入,但它已经转移了。更具体地说,所有的东西都移到了右边的一整列 我能够修改代码,使其进一步向右移动,但无法将其向左移动 下面是我的代码中存在问题的部分: if($deleteSuccess == 1){ echo "Now inserting all new records"; $handle = fopen($target_file, "r");
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
对于您正在使用的表和您试图使用的文件副本(或只是添加到帖子中的字符串版本),感谢您发布状态报告。看起来您只是在分享您的开发工作的当前状态。可能我错过了它……但您有什么问题想问吗?