转义撇号的意外字符

时间:2012-09-20 04:03:10

标签: php mysql forms apostrophe addslashes

我创建了一个表单,它接受一个文本块并将其插入到SQL数据库中。当用户使用单引号时,我不断收到SQL错误。我添加了addslashes()函数,一切都很好。但根据w3,php应该已经这样做了。此外,当我从数据库中检索文本时,所有撇号都被替换为 字符。

有谁知道发生了什么?我甚至不知道从哪里开始。

2 个答案:

答案 0 :(得分:0)

使用这些函数在db中插入数据或从db中插入数据 这些将解决单引号或双引号以及所有特殊章程的问题。

function DBin($string) 
{
    return  trim(htmlspecialchars($string,ENT_QUOTES));
}

function DBout($string) 
{
    $string = trim($string);
    return htmlspecialchars_decode($string,ENT_QUOTES);
}

答案 1 :(得分:0)

谢谢大家。

mysql_escape_string()有效。为了记录,addslashes()正在将撇号变成反叛。问题