Php 未知列';本地居民身份证';在';其中第'条;

Php 未知列';本地居民身份证';在';其中第'条;,php,mysql,Php,Mysql,我正在做一个配方页面,用户点击一个配方链接,数据(完整配方)显示在下一个页面上,但我似乎无法让它工作。当我尝试运行该页面时,我得到了错误“where子句中的未知列'locals\u id'。这是我到目前为止的代码 ?php //connection variables $hostname = 'hostname'; $username = 'username'; $password = '********'; $datab

我正在做一个配方页面,用户点击一个配方链接,数据(完整配方)显示在下一个页面上,但我似乎无法让它工作。当我尝试运行该页面时,我得到了错误“where子句中的未知列'locals\u 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,我是个新手,所以我在这一点上真的很紧张。我查看了一些与我类似的其他问题,但这些问题似乎也没有帮助。对此的任何帮助都将不胜感激

请检查列名是否与数据库表中的“locals\u id”相似,并且这些列名区分大小写,否则请在查询中的此符号`之间指定列名

例如


查询和代码似乎是正确的


仔细检查您的列名。可能有一些
打字错误
或检查
是否区分大小写
locals\u id
可能是从mysql控制台运行的
local\u id

显示创建表格的配方

或运行

显示配方中的字段


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

谢谢大家的帮助!我想出来了。这确实与本地人的身份证不是列名有关。正确的名称是recipe\u id。我觉得没有看到它很傻。

如果mysql说没有这样的专栏,那么。。。您的数据库方案中没有这样的列。您的sql中有一个输入错误。检查你的计划。哇!您正在直接从GET变量中输入值@itachi:你在哪里看到“直接”?我错了。但在sql语句中强制转换变量而不是在赋值变量时,这是没有意义的。如果可以将逻辑放在语句之外,那么应该这样做,因为调试sql错误变得更容易。在mysql中列名不区分大小写在mysql中列名不区分大小写
`locals_id`