MySQL查询添加'到变量

App*_*Guy 1 php mysql sql

我正在运行的MySQL查询抛出以下错误

您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在'desc ='附近使用正确的语法.输入说明这里''在第2行

desc是一个变量'$ desc'错误表明在desc之前有一个额外的'但是代码中没有任何东西(下面)如果我完全删除了desc它工作正常(显然没有更新那个部分)它非常奇怪,你的非常感谢帮助:-)

代码是

//Get the form data
    $title = $_POST['title'];
    $keywords = $_POST['keywords'];
    $desc = $_POST['desc'];



//initialise connection with databse

require_once('../Connections/EliteGrooming.php');
mysql_select_db($database_EliteGrooming, $EliteGrooming);

//Execute the query

mysql_real_escape_string($title, $keywords, $desc);

$query = "
    UPDATE site_settings
    SET site_title = '$title', keywords = '$keywords', desc = '$desc';";

mysql_query($query) or die(mysql_error());
mysql_close();
header('Location: ../admin/site-settings.php?updated'); 
Run Code Online (Sandbox Code Playgroud)

Joh*_*Woo 5

desc保留的关键字,您必须使用反引号将其转义

$query = "
    UPDATE site_settings
    SET site_title = '$title', keywords = '$keywords', `desc` = '$desc';";
Run Code Online (Sandbox Code Playgroud)

但是你的查询容易受到攻击SQL Injection,请阅读下面的文章,