SQL Query很好,但是会出错

Swe*_*oij -1 php mysql

我有以下代码:

function GetSetting($key)
{
    $Result = mysql_query("SELECT * FROM settings WHERE keys='$key'") or die(mysql_error());
    while($Row = mysql_fetch_array($Result))
    {
        return $Row['value'];
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在第1行的'keys ='header_title''附近使用正确的语法

我的SQL查询有什么问题?

Mar*_*c B 9

keys是一个保留字,所以你必须逃脱它:

SELECT ... WHERE `keys`='$key';
                 ^----^--
Run Code Online (Sandbox Code Playgroud)

换句话说,你的查询实际上并不好,MySQL正在告诉你问题的确切位置......