我正在处理一个食谱页面,用户单击食谱链接并且数据(完整食谱)显示在下一页上,但我似乎无法让它工作。 当我尝试运行该页面时,我收到错误"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 sensitivity
。 locals_id
可能local_id
检查列名是否类似于数据库表中的"locals_id",并且区分大小写,否则在查询中的此符号 ' 之间给出列名。
例如,
`locals_id`
从 mysql 控制台运行:
显示创建表食谱;
或运行
显示食谱中的字段;
您将找到列的正确名称。无论如何,MySQL列名不区分大小写,因此您的脚本中可能存在错误类型。
感谢大家的帮助!我想通了。这确实与locals_id不是列名有关。 正确的名称是recipe_id。我为没有看到它而感到愚蠢。