使用PHP-PDO插入HTML代码到MySQL数据库 - > Prepare Statement
问题描述:
我有一个问题,我试图插入html数据到我的数据库中,但是当我插入它时,返回带有反斜杠的引号。 (我认为这是一个pdo安全功能......但我怎么能禁用它?)。使用PHP-PDO插入HTML代码到MySQL数据库 - > Prepare Statement
的PHP + PDO的代码是...
if(!empty($_POST['site_ads_right'])) {
$update1 = $db->prepare("UPDATE ads SET custom_html = :html WHERE position = :pos");
$update1->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$update1->bindValue(':html', $_POST['site_ads_right'], PDO::PARAM_STR);
$update1->bindValue(':pos', 4, PDO::PARAM_INT);
$update1->execute();
}
我试图用所谓的site_ads_right为($ _ POST)一个html文本区域
<a href='http://www.example.com/index.php' target='_BLANK'><img src='img/content/a46adedac744f8f98b385ed392f92b3d_lll.jpg'></a>
插入此代码,但是当我插入,从数据库返回的是...
<a href=\'http://www.example.com/index.php\' target=\'_BLANK\'><img src=\'img/content/a46adedac744f8f98b385ed392f92b3d_lll.jpg\'></a>
,我需要将其插入不使用滤镜是什么放backsl骨灰...
谢谢。
好,与...
$update1 = $db->query("UPDATE ads SET custom_html = '".$_POST['site_ads_right']."' WHERE position = 4");
插入不反斜线的代码。
你需要考虑清理你的数据。在这种情况下,仅使用带有参数化值的预准备语句是不够的。你现在非常容易受到XSS的攻击。 – 2013-02-11 18:15:53
我知道它,但这个代码是针对一个后端网站的,我不需要安全过滤器在这个... – Hangover 2013-02-11 18:21:19