2016-04-23 6 views
-4

Ich habe eine Tabelle namens pack_details mit 4 Spalten. Ich versuche, neue Daten in eine vorhandene Tabelle einzufügen. Kann mir jemand sagen, was mit meinen Codes nicht stimmt und warum ich einen Parse-Fehler habe?Update Daten in bestehenden Zeile in MySQL-Datenbank

$sql_query = "UPDATE pack_details SET $delivery_date = $_POST["delivery_date"], $delivery_time = $_POST["delivery_time"] 
WHERE $delivery_building = $_POST["delivery_building"] 
AND $delivery_room = $_POST["delivery_room"]"; 
+0

Was ist das Problem? –

+1

Mögliches Duplikat von [PHP Parse/Syntax Errors; und wie man sie löst?] (http://stackoverflow.com/questions/18050071/php-parse-syntax-errors-and-how-to-solve-them) –

+1

Parse-Fehler: Syntaxfehler, unerwartete '' ', Erwartetes Bezeichner (T_STRING) oder Variable (T_VARIABLE) oder Nummer (T_NUM_STRING) –

Antwort

1

Probieren Sie einfach von unten Optionen:

$sql_query = "UPDATE pack_details SET $delivery_date = '{$_POST['delivery_date']}', $delivery_time = '{$_POST['delivery_time']}' WHERE $delivery_building = '{$_POST['delivery_building']}' AND $delivery_room = '{$_POST['delivery_room']}'"; 

oder

$sql_query = "UPDATE pack_details SET delivery_date = '".$_POST["delivery_date"]."', delivery_time = '".$_POST["delivery_time"]."' WHERE delivery_building = '".$_POST["delivery_building"]."' AND delivery_room = '".$_POST["delivery_room"]."'"; 

Hinweis: Wenn Feldname nicht $ enthalten, entfernen Sie in Abfrage $ von Feldnamen. Für z. "$ delivery_date" sollte "delivery_date" sein

Vorschlag: Anstatt String-Verkettung für das Erstellen zu verwenden, sollten Sie bind-Parameter verwenden, um den Wert an die Abfrage zu übergeben. Es hilft zu verhindern, dass SQL-Injection und Code gut aussehen.

+0

Danke für die Hinweise, jetzt heißt es ... Sie haben einen Fehler in Ihrer SQL-Syntax, überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, für die richtige Syntax in der Nähe von' delivery_time = WHERE delivery_building = AND delivery_room = 'bei l 1. Was ist los mit diesem Teil meines Satzes? –

+0

Sie dürfen keine Anführungszeichen für das Feld für die Zeichenfolge und das Datum eingeben. Welche Abfrage hast du ausprobiert? – Krunal

+0

$ sql_query = "UPDATE pack_details SET Lieferdatum = $ _POST [Versanddatum], Lieferungszeit = $ _POST [Lieferungszeit] WHERE Lieferung_Bau = $ _POST [Lieferung_BAU] UND Lieferung_Raum = $ _POST [Lieferung_Raum]"; –

Verwandte Themen