MYSQL PHP脚本引发语法错误


MYSQL PHP Script throwing syntax error

这里有一个小代码示例,它给了我一个MySQL语法错误。Connect.php正在连接到正确的数据库,并且可以与其他项目和代码一起使用。我知道connect.php中的代码是正确的。它给了我一个MySQL语法错误。它没有给出比这更多的细节:

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

我从主项目中提取了这个小代码样本,但它仍然会抛出错误。

<?php
    require "connect.php";          
    $keyCheck = mysql_query("SELECT * FROM keys WHERE `key`='".$_POST['betakey']."'" , $con);
    if (!$keyCheck) {
        echo mysql_error();
        exit;
    } else {
        $keyRows = mysql_num_rows($keyCheck);
    if ($keyRows == 0) {
        echo "This key is invalid!";
        exit;
    }
?>

编辑:我让管理员重命名了表,你们帮我解决了一些潜在的安全隐患。

我很确定keys是一个保留字。在任何情况下,您都应该始终将数据库、表和列名括在后引号中。不仅仅是"有时",正如您在本例中所说的那样。总是

来源。