逃脱字符串不起作用

时间:2015-03-08 03:42:55

标签: mysql string mysqli escaping

我在转义字符串代码方面遇到了困难。 它没有保存到数据库。

如果我更改为return mysql_real_escape_string($con,$string);它有效,但它不是mysqli语法。

function escape_string ($string) 
{
    return mysqli_real_escape_string($con,$string); 
}

if($_REQUEST['action']=="update")
{
    $query='update ckeditor_content set     
    des = "'.escape_string($_POST['ckeditor_content']).'" 
    where id = "'.escape_string($_POST['id']).'"';
    mysqli_query($con,$query);
    header("location:../welcome_content/");
}

$query="select * from ckeditor_content where id=$_REQUEST[id]";
$row=mysqli_fetch_array(mysqli_query($con,$query));

1 个答案:

答案 0 :(得分:0)

通过mysqli使用预处理语句,而不是过时的转义字符串函数。在这里查看示例:http://php.net/manual/en/mysqli.prepare.php

从mysql更改为mysqli的最大原因之一是存在预准备语句。

您的功能不起作用的一个主要原因是因为$con在函数内部不存在,除非$con是全局的,然后您的代码存在其他问题。阅读变量范围并避免使用全局变量:http://php.net/manual/en/language.variables.scope.php