删除列后选择查询期间字段列表中的未知列


Unknown column in field list during select query after column deleted

当我运行基本选择查询(不是插入或更新)时,我不断收到错误消息,告诉我字段列表中有一个未知列。

有一次,有一列的名称是错误所指的,但此后我重构了数据库,并且该表中不再有该名称的列。

有趣的是,只有当我从 PHP 查询数据库时,才会发生此错误。如果我直接在服务器上运行查询(使用 phpMyAdmin 中的 SQL 选项卡),则不会出错。

在我看来,似乎在我不知道的某个地方有一个缓存需要清除。有什么想法吗?

更新

至于关于使用框架的评论。我没有使用任何花哨的东西,只是基本的PHP/MySQL。当我收到错误时的示例是

$query = "SELECT * FROM table";
$relation = mysql_query($query) or die(mysql_error());
return $relation;

即使运行测试查询也会在字段列表中返回未知列的错误,这很奇怪,因为我实际上并不是在寻找特定的列,而只是尝试检索所有内容。我以前从未遇到过这个问题。通常,当您尝试将某些内容插入不存在的列(或更新列)时,会出现未知列。

根据您的服务器安装,mySQL和PHP都可以配置为执行一些非常积极的缓存。尝试发送"重置查询缓存"命令。这将指示 mySQL 清除其查询缓存。如果问题仍然存在,那么您可能正在查看 PHP 中缓存的内容。