“where”子句中的未知列“locals_id”


Unknown column 'locals_id' in 'where clause'

我正在处理一个食谱页面,用户单击食谱链接并且数据(完整食谱)显示在下一页上,但我似乎无法让它工作。 当我尝试运行该页面时,我收到错误"where 子句中的未知列'locals_id'。这是我到目前为止的代码。

?php 
    //connection variables
        $hostname = 'hostname';
        $username = 'username';
        $password = '********';
        $database = 'database';  
        //connect to the server
        $dbc = mysql_connect($hostname, $username, $password) or die("Unable to connect to mySQL server");
        //connect to the database
        mysql_select_db($database) or die("Unable to select database");

        $recipe_link = "-1";
        if (isset($_GET['locals_id'])) {
          $recipe_link = $_GET['locals_id'];
        }
        $query_recipeDetails = sprintf("SELECT * FROM recipe WHERE locals_id = %s", GetSQLValueString($recipe_link, "int"));
        $result = mysql_query($query_recipeDetails, $dbc) or die(mysql_error());
        $row_recipeDetails = mysql_fetch_assoc($result);

?>

在php方面,我非常陌生,所以我真的一直在为此而烦恼。 我查看了其他一些与我类似的问题,但这些问题似乎也没有帮助。 任何帮助将不胜感激

查询和代码似乎是正确的。

仔细检查列名称。 可能存在一些typo错误或检查case sensitivitylocals_id可能local_id

检查列名是否类似于数据库表中的"locals_id",并且区分大小写,否则在查询中的此符号 ' 之间给出列名。

例如,

`locals_id`

从 mysql 控制台运行:

显示创建表食谱;

或运行

显示食谱中的字段;

您将找到列的正确名称。无论如何,MySQL列名不区分大小写,因此您的脚本中可能存在错误类型。

感谢大家的帮助!我想通了。这确实与locals_id不是列名有关。 正确的名称是recipe_id。我为没有看到它而感到愚蠢。