-1

次のコードがあります。

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;
}

しかし、次のエラーが表示されます。

SQL 構文にエラーがあります。1 行目の「keys='header_title」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

SQL クエリの何が問題になっていますか?

4

1 に答える 1

9

keys予約語なので、エスケープする必要があります。

SELECT ... WHERE `keys`='$key';
                 ^----^--

言い換えれば、クエリは実際には良くなく、MySQL は問題がどこにあるかを正確に伝えていました...

于 2012-08-12T20:32:48.393 に答える