带有 html 内容的 PHP PDO bindParam
我尝试使用 ' 或 " 将 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);
相关文章