当我运行一个基本的选择查询 - 而不是插入或更新 - 时,我不断收到错误消息,告诉我字段列表中有一个未知列。
有一段时间,错误所引用的名称中有一列,但我已经重新构建了数据库,并且该表中不再有该列的列。
有趣的是,只有当我从PHP查询数据库时才会发生此错误。如果我直接在服务器上运行查询(使用phpMyAdmin中的SQL选项卡),我没有错误。
听起来我觉得有一个我不知道的缓存,需要清除。有任何想法吗?
更新
关于使用框架的评论。我没有使用任何花哨的东西,只是基本的PHP / MySQL。我收到错误的一个例子是
$query = "SELECT * FROM table";
$relation = mysql_query($query) or die(mysql_error());
return $relation;
即使运行测试查询也会在字段列表中返回未知列的错误,这是奇怪的,因为我实际上并不是在寻找特定的列而只是尝试检索所有内容。我以前从未遇到过这个问题。当您尝试将某些内容插入到不存在的列(或更新列)时,通常会出现未知列。
答案 0 :(得分:0)
根据您的服务器安装,mySQL和PHP都可以配置为执行一些非常积极的缓存。尝试发送“重置查询缓存”命令。这指示mySQL清除其查询缓存。如果问题仍然存在,那么您可能正在查看PHP中缓存的内容。