2016-09-19 4 views
0

Der Versuch, vorhandene Daten basierend auf den zurückgegebenen Werten zu überschreiben, möchte nur 'Speicherort' abrufen, um auf die neuen Informationen aus einem CSV-Import zu aktualisieren. Haben Sie eine duplizierte Tabelle mit oldLocation (alle für die Prüfung auf DW gesetzt, so können alle Änderungen zu sehen) Scheint, wie sollte es einfach sein ....:Bestehende Daten basierend auf zurückgegebenen Werten überschreiben

$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); 
} 

Antwort

0

Nevermind, es war ein einfaches Problem, das ich zu beheben, indem sie es in einer if-Anweisung:

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


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

manchmal erschweren Sie über das Problem selbst, eine Pause machen, einen Kaffee trinken und versuchen, nicht so schwer zu denken.

+0

Vielleicht meintest du '=='? –

Verwandte Themen