Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengapa formulir pendaftaran PHP MySQL ini tidak berfungsi?

Di bawah ini adalah kode yang dimodifikasi dengan Pernyataan yang Disiapkan.

Langkah pertama adalah menghubungkan ke database. Untuk melakukannya, kita perlu menentukan detail akses.

// Define Database Credentials
$servername = "localhost"; //Server Name
$username = "KyleHulse"; //Username to the DB
$password = "(my password)"; //Password to the DB
$dbname = "csdb1082"; //Name of the Database

// Create Database Connection
$conn = new mysqli($servername, $username, $password, $dbname);

Sekarang periksa koneksinya.

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

Setelah ini, Anda menjalankan kueri Anda. Harap dicatat bahwa karena ini adalah proyek pribadi Anda, maka saya menggunakan SHA1 sebagai hashing kata sandi Anda. Untuk proyek yang lebih besar, saya sarankan untuk meneliti lebih lanjut tentang cara mengamankan kata sandi Anda.

Untuk menjalankan kueri, pertama-tama siapkan. Beginilah caranya.

$stmt = $conn->prepare("INSERT INTO feedback (user, password, email) VALUES (?, ?, ?)");

Dalam hal ini, Anda menyimpan pernyataan di $stmt variabel. Kueri memiliki INSERT INTO diikuti dengan nama tabel. Dalam kasus Anda ini adalah feedback .

Setelah ini, Anda mengisi bidang tabel yang akan disimpan di braket pertama. Dalam kasus Anda, itu akan menjadi (user, password, email) diikuti oleh VALUES .

Setelah ini, Anda menambahkan placeholder untuk nilai aktual menggunakan (?, ?, ?) . Harap dicatat bahwa jumlah total ? harus cocok dengan jumlah total bidang dalam tanda kurung sebelumnya.

Sekarang Anda harus mengikat variabel ke ? . Ini dilakukan oleh,

$stmt->bind_param("sss", $user, $password, $email);

Harap perhatikan bahwa "sss" adalah format nilai yang diteruskan. Berikut adalah formatnya.

i - integer
d - double
s - string
b - BLOB

Jadi, Anda harus melewati 3 nilai, oleh karena itu Anda memiliki 3 s , diikuti oleh variabel tempat Anda akan menyimpan nilai dari bentuk HTML dengan,

$user = $_POST["user"];
$password = sha1($_POST["password"]); //simplest way to use SHA1 hash.
$email = $_POST["email"];

Sekarang Anda hanya perlu menjalankan pernyataan yang telah disiapkan.

$stmt->execute();

Itu dia!

Di bawah ini adalah kode lengkapnya.

// Define Database Credentials
$servername = "localhost"; //Server Name
$username = "KyleHulse"; //Username to the DB
$password = "(my password)"; //Password to the DB
$dbname = "csdb1082"; //Name of the Database

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$stmt = $conn->prepare("INSERT INTO feedback (user, password, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $user, $password, $email);

$user = $_POST["user"];
$password = sha1($_POST["password"]); //simplest way to use SHA1 hash.
$email = $_POST["email"];

$stmt->execute();

Semoga membantu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. memahami tip panah dalam diagram EER MySQL Workbench

  2. Buat Entitas Doktrin secara otomatis dari Tabel yang ada

  3. Memperbarui kolom berdasarkan bidang yang ada

  4. PDO dengan MySQL tidak berfungsi dalam aktivasi email

  5. Dua kunci asing pada kolom yang sama dari satu tabel