第一次使用mysqli_real_escape_string

时间:2014-09-08 01:18:28

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

我正在尝试改造我的项目以使用real_escape_string。我已经阅读了文档,教程和与stackoverflow相关的问题,看起来我正确地做了,但显然有些不对劲。我非常有信心它是real_escape_string本身,因为当我评论它时,一切都像它一样工作。我想采用面向对象的方式。

这是我的连接。

$con= new mysqli("localhost","root","","venue");

这是我逃离字符串。

$message = $_POST['text'];
$message = mysqli_real_escape_string($con, $message);

这是我的查询

        $operation = "INSERT INTO
            chat(user, message)
        VALUES('". $_SESSION['name'] ."', '$message')"; 
        $result = mysqli_query($con, $operation);

我尝试将查询中的$ message更改为“。$ message。”。我也尝试过更改调用查询的方式。我已经尝试了几十种组合,阅读的内容已经足够了。我还在遗漏一些东西。我做错了什么?

1 个答案:

答案 0 :(得分:1)

mysqli_real_escape_string有两个参数,你忘了将连接放到数据库中,并且在mysqli_real_escape_string之前删除$,因为它是mysqli函数而不是变量。

$message = mysqli_real_escape_string($con, $message);

你得到了额外的分号。只需删除它

$operation = "INSERT INTO
                chat(user, message)
            VALUES('". $_SESSION['name'] ."', '$message')";