mysqli_real_escape_string没有逃避任何事情

时间:2015-06-30 04:01:05

标签: php mysqli

我使用mysqli_real_escape_string来逃避单引号和双引号等,但它并没有逃避任何事情。我的代码如下

$con = mysqli_connect("ip","db","pw","db");
$formtext = $_POST['formtext'];
$formtext = mysqli_real_escape_string($con, $formtext);
mysqli_query($con, "INSERT into table (formtext) VALUES ('$formtext')")
    or die();

插入表格后,'formtext'字段不包含转义符(反斜杠)。 发生这种情况的可能原因是什么?

1 个答案:

答案 0 :(得分:2)

保存到数据库的数据将包含"转义" 或转义序列或无关斜线。

数据库 包含提供的实际数据 ,这是函数的要点:转义输入以供使用作为SQL语句中的SQL字符串内容

  

mysqli_real_escape_string转义字符串中的特殊字符,以便在SQL语句中使用 [作为字符串文字内容],同时考虑到连接的当前字符集。

如果要点更改数据(如果是,请准确确定更改应该是什么) - 注意" real_escape"或者(更好)parameterized queries 仍然仍然使用 - 然后使用适当的函数来完成任务。