2017-07-11 7 views
-2

Es bleibt auf der gleichen Seite einmal gedrückt, um "zu aktualisieren" sogar sollte es zu einem anderen gehen, außerdem aktualisiert es nicht zu einem neuen Werten.AKTUALISIEREN mehrerer Tabellen funktioniert nicht

$query ="UPDATE stockTracking s 
      LEFT JOIN loggers c 
      ON s.entryId   =c.loggerId 
      LEFT JOIN boxes b 
      on b.boxId    =s.entryId 
      SET b.boxName   = '$updateBoxName', 
      s.airportOfDestination = '$updateAirportOfDestination', 
      s.awb     = '$updateAwb', 
      s.cityOfDestination  = '$updateCityOfDestination', 
      s.reference    = '$updateReference', 
      s.time     = '$updateTime', 
      c.loggerName   = '$updateLoggerName', 
      s.temp     = '$updateTemp' 
      WHERE s.entryId   = '$updateEntryId' 
"; 
+0

Abfrage in Ordnung ist .... führen Sie es auf mysql und überprüfen, ob es funktioniert –

+1

** WARNUNG **: Dies hat einige schwerwiegende [SQL injection Bugs] (http://bobby-tables.com/), weil '$ _GET' Daten innerhalb der Abfrage verwendet werden. Wann immer möglich verwenden * * vorbereitete Anweisungen ** Diese sind ziemlich einfach zu tun in ['mysqli'] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) und [PD O] (http://php.net/manual/en/pdo.prepared-statements.php), wobei alle vom Benutzer bereitgestellten Daten mit einem '?' Oder ': name'-Indikator angegeben werden, der später mit' bind_param' oder 'execute', je nachdem, welche Sie verwenden. ** NIEMALS ** $ _POST', '$ _GET' oder irgendwelche Benutzerdaten direkt in Ihre Anfrage einfügen. – tadman

Antwort

-1

Sie verwenden, um verschiedene Arten von String-Anführungszeichen (“und‚) in der Zeichenfolge

Versuchen Sie, dass an.

$query ="UPDATE stockTracking s 
     LEFT JOIN loggers c 
     ON s.entryId   =c.loggerId 
     LEFT JOIN boxes b 
     on b.boxId    =s.entryId 
     SET b.boxName   = ".$updateBoxName.", 
     s.airportOfDestination = ".$updateAirportOfDestination.", 
     s.awb     = ".$updateAwb.", 
     s.cityOfDestination  = ".$updateCityOfDestination.", 
     s.reference    = ".$updateReference.", 
     s.time     = ".$updateTime.", 
     c.loggerName   = ".$updateLoggerName.", 
     s.temp     = ".$updateTemp." 
     WHERE s.entryId   = ".$updateEntryId." 
"; 
+0

Leute * bestehen * darauf, das hochzuschalten, wenn es buchstäblich null Auswirkung auf das Ergebnis hat. Wenn Sie nicht sicher sind, warum, lesen Sie [PHP-String-Interpolation] (http://php.net/manual/en/language.types.string.php). – tadman

Verwandte Themen