Bagaimana untuk Memasukkan Data Borang ke dalam MySQL Menggunakan Penyata Disediakan dalam PHP?

Patricia Arquette
Lepaskan: 2024-11-10 11:19:02
asal
635 orang telah melayarinya

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

PHP: Memasukkan Nilai daripada Borang ke dalam MySQL

Masalah

Anda telah mencipta jadual pangkalan data dan cuba memasukkan nilai daripada HTML bentuk ke dalamnya, tetapi pangkalan data kekal kosong. Kod tersebut mengisytiharkan pertanyaan SQL sebagai pembolehubah rentetan tetapi tidak melaksanakannya, meninggalkan pangkalan data tidak terjejas.

Jawapan

Untuk memasukkan nilai menggunakan borang, ikut langkah berikut:

  1. Jangan Percaya Input Pengguna: Input daripada borang boleh dimanipulasi, yang berpotensi menyebabkan SQL Kerentanan suntikan.
  2. Gunakan Penyata Disediakan: Ia membenarkan anda untuk menentukan ruang letak untuk nilai dalam pernyataan SQL, yang kemudiannya terikat kepada pembolehubah secara dinamik, menghalang input berniat jahat.
  3. Ubah suai PHP Anda Kod:
<?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();
}

?>
Salin selepas log masuk

Nota Penyata Disediakan

  • Pemegang tempat (?) digunakan untuk pengikatan pembolehubah.
  • Gunakan bind_param untuk mengikat pembolehubah jenis (cth., sss untuk tiga rentetan).
  • laksanakan akhirnya memasukkan nilai ke dalam pangkalan data.

Keselamatan Kata Laluan

Perhatikan bahawa kata laluan tidak boleh disimpan dalam teks yang jelas. Sebaliknya, gunakan password_hash untuk menyimpan cincangan selamat bagi kata laluan.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Data Borang ke dalam MySQL Menggunakan Penyata Disediakan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan