Heim  >  Artikel  >  Datenbank  >  Wie füge ich Formulardaten mithilfe vorbereiteter Anweisungen in PHP in MySQL ein?

Wie füge ich Formulardaten mithilfe vorbereiteter Anweisungen in PHP in MySQL ein?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-10 11:19:02631Durchsuche

How to Insert Form Data into MySQL Using Prepared Statements in PHP?

PHP: Werte aus dem Formular in MySQL einfügen

Problem

Sie haben eine Datenbanktabelle erstellt und versuchen, Werte aus einem HTML einzufügen Formular hinein, aber die Datenbank bleibt leer. Der Code deklariert die SQL-Abfrage als Zeichenfolgenvariable, führt sie jedoch nicht aus, sodass die Datenbank davon nicht betroffen ist.

Antwort

Um Werte mithilfe eines Formulars einzufügen, führen Sie die folgenden Schritte aus:

  1. Vertrauen Sie niemals Benutzereingaben: Eingaben aus Formularen können manipuliert werden, was möglicherweise zu SQL-Injection führt Schwachstellen.
  2. Verwenden Sie vorbereitete Anweisungen: Sie ermöglichen es Ihnen, Platzhalter für Werte in der SQL-Anweisung anzugeben, die dann dynamisch an Variablen gebunden werden, um böswillige Eingaben zu verhindern.
  3. Ändern Sie Ihren PHP-Code:
<?php

// Database configuration
include_once 'dbConfig.php';

if (isset($_POST['save'])) {
    // Prepare the statement
    $sql = "INSERT INTO users (username, password, email) VALUES (?,?,?)";
    $stmt = $mysqli->prepare($sql);

    // Bind the parameters to the statement
    $stmt->bind_param("sss", $_POST['username'], $_POST['email'], $_POST['password']);

    // Execute the statement
    $stmt->execute();

    // Close the statement
    $stmt->close();
}

?>

Vorbereitete Anweisung Notizen

  • Platzhalter (?) werden für die Variablenbindung verwendet.
  • Verwenden Sie bind_param, um Variablentypen zu binden (z. B. SSS für drei Zeichenfolgen).
  • Ausführen führt schließlich Einfügungen aus die Werte in die Datenbank.

Passwort Sicherheit

Beachten Sie, dass Passwörter niemals im Klartext gespeichert werden sollten. Verwenden Sie stattdessen „password_hash“, um einen sicheren Hash des Passworts zu speichern.

Das obige ist der detaillierte Inhalt vonWie füge ich Formulardaten mithilfe vorbereiteter Anweisungen in PHP in MySQL ein?. 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