带有 html 内容的 PHP PDO bindParam

2021-12-26 00:00:00 php pdo

我尝试使用 ' 或 " 将 html 内容保存到数据库中,它会自动给出一个很好的斜杠,所以我不必执行 mysql_escape_string.但是当我加载字符串时,它显示为

I try to save html content to the database, with ' or " it auto give a slash which is great so I don't have to do mysql_escape_string. However when I load up the string it shows as

<a href=/"yes/">test</a>

如果我再次保存它,我就会得到这个

and if I save it again I got this

<a href=//"yes//">test</a>

这是否意味着当我回显字符串时我应该去掉斜线?

Does that means when I echo out the string I should strip out the slash?

$html = '<a href="yes">test</a>';
$insertStatement = $pdo->prepare('insert into content (html) values (:html)');
$pdo->bindParam(:html, $html);
$pdo->execute();

推荐答案

使用

$pdo->bindValue(':html', $html, PDO::PARAM_STR);

代替

$pdo->bindParam(:html, $html);

相关文章