Dưới đây là mã được sửa đổi với Tuyên bố chuẩn bị.
Bước đầu tiên là kết nối với cơ sở dữ liệu. Để làm điều đó, chúng tôi cần xác định chi tiết truy cập.
// 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);
Bây giờ hãy kiểm tra kết nối.
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
Sau đó, bạn chạy truy vấn của mình. Xin lưu ý rằng vì đây là dự án cá nhân của bạn, do đó tôi đang sử dụng SHA1
dưới dạng băm mật khẩu của bạn. Đối với một dự án lớn hơn, tôi khuyên bạn nên nghiên cứu thêm về cách bảo mật mật khẩu của mình.
Để chạy truy vấn, đầu tiên là chuẩn bị cho nó. Đây là cách bạn làm.
$stmt = $conn->prepare("INSERT INTO feedback (user, password, email) VALUES (?, ?, ?)");
Trong đó, bạn lưu trữ câu lệnh trong $stmt
Biến đổi. Truy vấn có INSERT INTO
theo sau là tên của bảng. Trong trường hợp của bạn, đó là feedback
.
Sau đó, bạn điền vào các trường của bảng sẽ được lưu trong dấu ngoặc đơn đầu tiên. Trong trường hợp của bạn, nó sẽ là (user, password, email)
theo sau là VALUES
.
Sau đó, bạn thêm trình giữ chỗ cho các giá trị thực bằng (?, ?, ?)
. Xin lưu ý rằng tổng số ?
phải khớp với tổng số trường trong dấu ngoặc trước đó.
Bây giờ bạn phải liên kết các biến với các ?
này . Điều này được thực hiện bởi,
$stmt->bind_param("sss", $user, $password, $email);
Xin lưu ý rằng "sss"
là các định dạng của các giá trị được truyền. Dưới đây là các định dạng.
i - integer
d - double
s - string
b - BLOB
Vì vậy, bạn cần chuyển 3 giá trị, do đó bạn có 3 s
, theo sau là các biến nơi bạn sẽ lưu trữ các giá trị từ biểu mẫu HTML bằng,
$user = $_POST["user"];
$password = sha1($_POST["password"]); //simplest way to use SHA1 hash.
$email = $_POST["email"];
Bây giờ bạn chỉ cần thực hiện câu lệnh đã chuẩn bị.
$stmt->execute();
Vậy là xong!
Dưới đây là mã đầy đủ.
// 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();
Hy vọng điều này sẽ hữu ích.