Zunächst einmal einrücken bitte richtig Code.
Dann lernen (oder zumindest versuchen zu verstehen), wie Strings Verkettung funktioniert. In PHP können Sie einfache oder doppelte Anführungszeichen für Strings verwenden.
Was ich immer zu meiner Kollegin wiederhole, ist, (wenn möglich) eine Zeichenfolge in die richtige Art von Zitat zu schreiben, was die Zeichenfolge (möglicherweise) enthalten kann.
Wenn Sie ein einfaches Anführungszeichen in Ihrer Zeichenfolge (oder in einer der verketteten Variablen) haben, wickeln Sie es in Doppel.
Wenn Sie eine doppelte Anführungszeichen in Ihrer Zeichenfolge (oder in einer der verketteten Variablen) haben, wickeln Sie es in Singles.
Dies kann offensichtlich erscheinen, aber wenn Sie dies bei jeder Manipulation von Strings beachten, sind Sie auf dem richtigen Weg, Strings UND Variablen gut miteinander zu verknüpfen.
Auch so übergeben Sie eine vollständige unbearbeitete Abfrage als Parameter ist nicht sehr lesbar. in einer separaten Variable Put in und versuchen wie folgt aus:
<?php
$id1 = $_POST["id1"];
$name = $_POST["name"];
$update = $_POST["update"];
$query = '
UPDATE insert1
SET ' . $name . ' = "' . $update . '"
WHERE id-1 = ' . $id1 . '
';
mysqli_query($conn, $query);
?>
Sie feststellen, dass $name
nicht mit Anführungszeichen umgeben, da es ein Feldname ist und kein Wert.
Auch hier ist $id1
nicht in Anführungszeichen eingeschlossen, da es sich um einen Integer-Wert und nicht um einen String-Wert handelt. Aber wenn aus irgendeinem Grund die id-1
Feld oder Ihre insert1
Tabelle speichert Nummern AS Zeichenfolgen, so wollen Sie es mit doppelten Anführungszeichen umgeben.
Sie müssen ** $ id1 ** in der SQL verwenden – user2182349
Sie fehlen Anführungszeichen rund um Ihre Zeichenfolge Werte und Sie sind weit offen für SQL-Injektion –
ich meine, dass es nicht aktualisiert die Werte, die ich aktualisieren möchte. –