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

时间:2013-11-16 21:56:24

标签: php mysql sql

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

有一段时间,错误所引用的名称中有一列,但我已经重新构建了数据库,并且该表中不再有该列的列。

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

听起来我觉得有一个我不知道的缓存,需要清除。有任何想法吗?

更新

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

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

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

1 个答案:

答案 0 :(得分:0)

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