エスケープ文字列を使用したり、変数をバインドしたりするなど、3 つの変数を保護するために何かする必要がありますか? これを正しく行ったかどうかはわかりませんが、人々は準備済みステートメントの使用を推奨しているだけなので、それらを理解しようとしています。
$order = $_POST['order'];
$heading = $_POST['heading'];
$content = $_POST['content'];
try {
$dbh = new PDO("mysql:host=$hostname;dbname=saintfiv_faq", $username, $password);
/*** echo a message saying we have connected ***/
echo 'Connected to database<br />';
/*** INSERT data ***/
$stmt = $dbh->prepare("INSERT INTO faq(`order`, `heading`, `content`) VALUES (:order, :heading, :content)");
$stmt->bindParam(':order', $order, PDO::PARAM_INT);
$stmt->bindParam(':heading', $heading, PDO::PARAM_STR, strlen($heading));
$stmt->bindParam(':content', $content, PDO::PARAM_STR, strlen($content));
/*** close the database connection ***/
$stmt->execute();
}
catch(PDOException $e)
{
echo $e->getMessage();
}