準備されたステートメント内で HTML コンテンツを処理する方法を探しています。
私のアプリケーションは基本的な WYSIWYG エディターを提供し、ユーザーがコンテンツを保存した後、私のスクリプトは HTML データを sqlite データベースに保存します。
しかし、準備されたステートメントを使用している場合、HTML は自然にエスケープされます。
これは私がこれまでに行ったことです:
try {
/* Create databases and open connections */
$dbh = new PDO( 'sqlite:db/coaching.sqlite' );
/* Set Error Mode for Exception Handling */
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
/* Prepare SQL Statement */
$query = $dbh->prepare( "UPDATE Content SET Value=:value WHERE Token=:token" );
/* Bind Param to Statement */
$query->bindParam( ':token', $_POST['id'], PDO::PARAM_STR);
$query->bindParam( ':value', $_POST['value'], PDO::PARAM_STR);
/* Execute Query */
$query->execute();
/* Echo Data */
echo $_POST['value'];
/* Close connections to Database */
$dbh = NULL;
}
catch( PDOException $e ) {
/* Print Error-Messages */
echo $e->getMessage();
}