【问题标题】:" error in your SQL syntax .. near 'key' " [duplicate]“您的 SQL 语法错误 .. 靠近‘键’” [重复]
【发布时间】:2014-01-17 16:04:13
【问题描述】:

我在执行这个特定的 php 脚本时遇到错误,我不知道它可能有什么问题。

错误代码:您的 SQL 语法有错误;查看与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“key='value”附近使用正确的语法

php代码:

<?php 
include("includes/onbowlconnect.php");

$key = $_GET['key'];

$query = mysql_query("SELECT * FROM bowlvalidkeys WHERE key='$key'") or die (mysql_error());

$result = mysql_num_rows($query);

if($result == 1)
{
    echo 'GameIDkey was succesfully validated !';
}
else
{   
    echo 'GameIDkey is not valid , please try again';
}
?>

谁能帮帮我?

谢谢!

【问题讨论】:

标签: php mysql


【解决方案1】:

key 保留mysql keywords

在这个键周围使用反引号

 SELECT * FROM bowlvalidkeys WHERE `key` ='$key'

【讨论】:

【解决方案2】:

您收到一个错误,因为“key”是 MySQL 中的保留字。您应该更改列的名称或在查询 'key' = '$key' 中对其进行转义。

此外,请务必清理您的 $_GET 变量,否则您将容易受到 SQL 注入攻击。

【讨论】:

    【解决方案3】:

    key是mysql的保留字

    使用这个

    $key = mysql_real_escape_string($key);
    $query = mysql_query("SELECT * FROM bowlvalidkeys WHERE `key`='$key'") or die (mysql_error());
    

    【讨论】:

      【解决方案4】:

      试试:

      mysql_query("SELECT * FROM bowlvalidkeys WHERE 'key'='$key'")
      

      【讨论】:

        猜你喜欢
        • 2014-01-12
        • 1970-01-01
        • 2016-06-18
        • 2018-08-02
        • 2020-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多