Sử dụng các câu lệnh đã chuẩn bị sẵn
Những gì họ làm trước tiên là gửi một phiên bản của truy vấn với trình giữ chỗ cho dữ liệu. Truy vấn được xác minh và chuẩn bị. Nếu thành công, bạn có thể gửi các giá trị mà cơ sở dữ liệu sẽ chèn một cách an toàn vào truy vấn đã chuẩn bị.
Có ba tùy chọn:
Tiện ích mở rộng MySQLi
$stmt = $mysli->prepare('INSERT INTO costumer (costumer_ID, first_name, last_name, birth_date, adress, city, state, postal_code, country, phone, email_client,username, password, Credit_Card, Credit_CardType)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?');
$stmt->bindParam('issssssssssssss', $_POST['costumer_ID'], ..., $_POST['Credit_CardType']);
$stmt->execute();
Tiện ích mở rộng PDO
// use native prepared statements if supported
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $pdo->prepare('INSERT INTO costumer (costumer_ID, first_name, last_name, birth_date, adress, city, state, postal_code, country, phone, email_client,username, password, Credit_Card, Credit_CardType)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?');
$stmt->bindParam(1, $_POST['costumer_ID'], PDO::PARAM_INT);
...
$stmt->bindParam(15, $_POST['Credit_CardType']);
$stmt->execute();
Truy vấn thô qua bất kỳ tiện ích mở rộng nào
Tôi sẽ không đưa ra một ví dụ vì hai phương pháp còn lại vượt trội hơn nhiều.