0

我有一个 for 循环,它遍历一组问题,每个问题旁边都有一个文本区域。但是,如果问题或答案中有撇号(好像有人在问题中问“不要”或“不能”),它不会被插入到数据库中。我已经尝试了带斜杠并添加斜杠以摆脱问题,但无济于事。
这就是我到目前为止所得到的。

用于向用户显示不带斜线的问题的 for 循环。

    for($i = 0; $i< sizeof($answered); $i++)
    {
        echo "<h3><center>" . stripslashes($question[$i]) . "</center></h3>";
        show_form($question[$i]);
    }

和 POST 设置:

    if ( !empty($_POST['answer']) )
    {
        $quest = mysqli_real_escape_string ($dbc, $_POST['question']);
        $answer = mysqli_real_escape_string ($dbc, $_POST['answer']);
    }
4

3 回答 3

0

检查您的 php.ini 文件中是否启用了magic_quotes_gpc 。 如果启用了magic_quotes_gpc,首先将stripslashes()应用于数据。对已经转义的数据使用此函数将两次转义数据。

于 2011-12-07T06:03:59.957 回答
0

magic_quotes_gpc = Off在你的 php.ini 中设置

或者

添加php_flag magic_quotes_gpc Off你的 .htaccess

于 2011-12-07T05:23:07.427 回答
-1

尝试htmlentities($question[$i], ENT_QUOTES);存储数据并html_entity_decode($question[$i], ENT_QUOTES);显示它。

于 2011-12-07T05:20:21.380 回答