schalck
Goto Top

Kein Eintrag in Datenbank mit UPDATE-Funktion

Zum lernen und üben habe ich mir eine kleine Tabelle in einer Datenbank erstellt. In dieser gibt es die Spaltennamen „Name“ und Bemerkungen“
Mit einem HTML-Formular möchte ich jetzt in die Spalte „Bemerkung“ einen Eintrag erstellen. In das Formular trägt man den Namen ein und die entsprechende Bemerkung. Diese beiden Werte werden dann zur Datei notiz.php übertragen. Anschließend werden aus den übergebenen Werten Strings gebildet und sollen per UPDATE-Funktion in die Datenbank zum entsprechenden Namen eingetragen werden. Beim Ausführen der Funktion erhalte ich keine Fehlermeldung, aber es entsteht auch kein Eintrag in der Datenbank.(Eine Verbindung zur Datenbank besteht) Leider kann ich mir nicht erklären, warum das so ist. Kann mir jemand helfen ? Vielen Dank.

<?php

 
// Zum Aufbau der Verbindung zur Datenbank
 $_db_host = "localhost:3307";  
    $_db_username = "xxxxxx";  
    $_db_passwort = "xxxxxxxxx";  
	$_db_name = "personal_uebung";  
    
 
$connect = mysqli_connect ($_db_host, $_db_username, $_db_passwort, $_db_name);
 
if ( $connect )
{
    echo 'Verbindung erfolgreich: ';  
}
else
{
	echo 'hat nicht geklappt';  
	
	}

$notiz = $_POST["notiz"];  
$name = $_POST["Familienname"];  



$update = "UPDATE 'personal_kpi' SET Bemerkungen = $notiz where name = $name";  
  mysqli_query($connect, $update);



?>

Content-ID: 593272

Url: https://administrator.de/contentid/593272

Ausgedruckt am: 22.11.2024 um 03:11 Uhr

wiesi200
wiesi200 03.08.2020 um 20:04:26 Uhr
Goto Top
Hallo,

Schau doch mal was der Befehl Update macht und dann mal für was Insert gut ist
schalck
schalck 03.08.2020 um 20:21:41 Uhr
Goto Top
Nein, ich möchte keinen neuen Datensatz anlegen, sondern in einen bestehenden eine Änderung machen. Also bei mir existiert der Datensatz "Meier". Bei Meier steht nichts im Feld "Bemerkung". Und in dieses Feld "Bemerkung" möchte ich etwas eintragen.
nighthawk1981
nighthawk1981 03.08.2020 aktualisiert um 20:32:24 Uhr
Goto Top
Hi,

Setz mal notiz und name in Hochkommas.

$update = "UPDATE personal_kpi SET Bemerkungen = '$notiz' where name = '$name'";


Vg
schalck
schalck 03.08.2020 um 21:03:49 Uhr
Goto Top
Danke. DAS war´s. Super
LordGurke
LordGurke 03.08.2020 um 23:20:39 Uhr
Goto Top
Nein, das war's nicht.
Probier doch mal aus was passiert, wenn du ins Eingabefeld für "notiz" exakt folgendes einträgst:

Beispiel für SQL-Injection'; TRUNCATE personal_kpi; --    

Und wenn du deine Tabelle aus dem hoffentlich vorher angelegten Backup wiederhergestellt hast, gewöhnst du dir am besten an, für wirklich jede Variable, die du in SQL-Statements verwendest, die Funktion mysqli_real_escape_string() zu verwenden face-wink