PHP:POST数据上的mysqli_real_escape_string - 添加反斜杠?

时间:2013-08-04 17:08:10

标签: php database backslash mysql-real-escape-string

我有一个带有类型文本的常规输入字段和一个表单中的提交按钮(update_form)。单击提交按钮后,输入中的数据将发送到php脚本,该脚本应将其保存到DB并显示更新的HTML页面。一切正常,但有一点 - 我不太确定何时使用mysqli_real_escape_string。

示例:

if(isset($_POST["update_form"])) {
    connectDatabase(); //just opens the connection

    $name = $_POST["page_name"];

    echo $name . "<br>";
    $name = mysqli_real_escape_string($connection, $name);
    echo $name . "<br>";
    //...do the rest, queryDatabase($query);
}

我们假设我将在文本字段中输入“Tim的位置”,然后我将点击提交按钮。如果我使用上面的脚本,它将回显以下内容:

Tim\'s place
Tim\\\'s place

因此在HTML输出中它将如下所示:

Tim's place
Tim\'s place

这是什么意思?为什么在做mysqli_real_escape_string后我有一个额外的反斜杠?或者在使用POST变量时这不是必需的吗?真的很困惑。

0 个答案:

没有答案
相关问题