0

我正在一个食谱页面上工作,用户单击食谱链接,数据(完整食谱)显示在下一页上,但我似乎无法让它工作。当我尝试运行该页面时,我收到错误“'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 时,我还很陌生,所以我真的一直在为这个而烦恼。我查看了一些与我类似的其他问题,但这些问题似乎也没有帮助。对此的任何帮助将不胜感激

4

4 回答 4

1

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

仔细检查您的列名。可能有一些typo错误或检查case sensitivitylocals_id 可能local_id

于 2012-04-08T12:22:12.443 回答
0

从 mysql 控制台运行:

显示创建表配方;

或运行

显示配方中的字段;

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

于 2012-04-08T15:15:22.797 回答
0

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

例如。,

`locals_id`
于 2012-04-08T12:20:35.987 回答
0

谢谢各位的帮助!我想到了。这确实与 locals_id 不是列名有关。正确的名称是 recipe_id。没看到我觉得很傻。

于 2012-04-09T23:08:02.237 回答