我正在尝试改造我的项目以使用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。”。我也尝试过更改调用查询的方式。我已经尝试了几十种组合,阅读的内容已经足够了。我还在遗漏一些东西。我做错了什么?
答案 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')";