Heim >Datenbank >MySQL-Tutorial >Warum werden meine Formularwerte nicht in meine MySQL-Datenbank eingefügt?

Warum werden meine Formularwerte nicht in meine MySQL-Datenbank eingefügt?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-13 09:34:02684Durchsuche

Why Are My Form Values Not Inserting into My MySQL Database?

PHP: Formularwerte in MySQL einfügen

Problem:

Das Einfügen von Werten aus einem HTML-Formular in eine MySQL-Datenbank ist nicht erfolgreich ausgeführt, und die Datenbank bleibt bestehen leer.

Lösung:

Der bereitgestellte PHP-Code enthält eine SQL-Abfrage, die als String-Variable gespeichert ist:

$sql = "INSERT INTO users (username, password, email)
        VALUES ('".$_POST["username"]."','".$_POST["password"]."','".$_POST["email"]."')";

Diese Abfrage ist jedoch nicht ausgeführt. Um eine Abfrage auszuführen, müssen Sie MySQL-Funktionen wie vorbereitete Anweisungen verwenden, um die Sicherheit und Integrität Ihrer Daten zu gewährleisten.

Best Practice: Verwendung vorbereiteter Anweisungen

Vorbereitete Anweisungen Schützen Sie sich vor SQL-Injection, indem Sie die Abfrage von der Benutzereingabe trennen. So verwenden Sie sie:

  1. Bereiten Sie die SQL-Anweisung vor:

    $sql = "INSERT INTO users (username, password, email) VALUES (?,?,?)";
  2. Binden Sie die Eingabe Variablen:

    $stmt = $mysqli->prepare($sql);
    $stmt->bind_param("sss", $_POST['username'], $_POST['email'], $_POST['password']);
  3. Führen Sie die vorbereitete Anweisung aus:

    $stmt->execute();

Zusätzlich Sicherheitsmaßnahme:

Um die Sicherheit zu erhöhen, speichern Sie Passwörter stattdessen in einem verschlüsselten Hash-Format von Klartext mit passwort_hash.

Das obige ist der detaillierte Inhalt vonWarum werden meine Formularwerte nicht in meine MySQL-Datenbank eingefügt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn