根据返回值覆盖现有数据

时间:2016-09-19 20:22:59

标签: mysql php

尝试根据返回的值覆盖现有数据,只想获得“定位”。更新为CSV导入的新信息。有一个带有Oldlocation的重复表(所有设置为DW进行测试,因此可以看到任何更改)似乎它应该很简单....:

 $file = "allinv.CSV"; 
 if(($handle = fopen($file, "r")) !== FALSE)
 { fgetcsv($handle);
 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE){
 $num = count($data);
 for ($c=0; $c < $num; $c++) {
 $col[$c] = $data[$c];}
 $col1 = $col[1];
 $sql = "SELECT Oldlocation FROM invbkup WHERE VIN = '$col1'"; ///works fine, gets old location for each record
 $result = mysqli_query($con, $sql);
 $row = mysqli_fetch_array($result);
 $whl= $row['Oldlocation'];

 $col8 = $col[73];

 $query = "UPDATE allinv SET location = '$col8' WHERE $whl = 'DW' ";
 echo $col1, $col8, $whl, "</br>";////can see all the info but get no changes in database.
 $a= mysqli_query($con, $query);
 }
 fclose($handle);
 }

1 个答案:

答案 0 :(得分:0)

没关系,这是一个简单的问题,我把它放在if语句中修复:

    if($whl = 'DW'){
       $query = "UPDATE allinv SET location = '$col8' WHERE VIN ='$col1'";


     $a= mysqli_query($con, $query);}

有时你自己会使问题复杂化,休息一下,喝点咖啡,尽量不要这么认真。