Mysql 为什么选择失败,但表存在?

Mysql 为什么选择失败,但表存在?,mysql,pdo,Mysql,Pdo,如果我创建了一个新表,我就不能用PDO从中选择一些东西。 MySQL Workbench允许我选择一些东西,而旧表仍然可以正常工作,但正如我所说的,我无法从新表中选择一些东西,因为它们的设置(例如InnoDB、UTF-8)与旧表完全相同 下面是我的日志中的一个示例错误消息: [Thu Oct 18 12:34:56 2012] [error] [client 12.345.678.90] PHP Fatal error: Uncaught exception 'PDOException' wi

如果我创建了一个新表,我就不能用PDO从中选择一些东西。 MySQL Workbench允许我选择一些东西,而旧表仍然可以正常工作,但正如我所说的,我无法从新表中选择一些东西,因为它们的设置(例如InnoDB、UTF-8)与旧表完全相同

下面是我的日志中的一个示例错误消息:

[Thu Oct 18 12:34:56 2012] [error] [client 12.345.678.90] PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'database.tablename' doesn't exist' in /var/www/project/file.php:928
Stack trace:
#0 /var/www/project/file.php(928): PDOStatement->execute(Array)
#1 /var/www/project/file.php(946): Interact->addSomething(Array)
#2 /var/www/project/index.php(22): Interact->handleAction(Array)
#3 {main}
thrown in /var/www/project/file.php on line 928, referer:
(12:34:56) user: http://user.domain.com/?longthingy=wakenmgwjakngpwjani

有没有人有过类似的经历或想法来解决这个问题?

我们太笨了,以至于没有意识到我与mysql管理员连接到了我们的旧服务器。

您的数据库/表是否真的被称为
数据库。tablename
?您的PHP代码是否以不同的用户身份登录到mysql workbench?此外,表名可以区分大小写,具体取决于平台(Windows、Linux等)和其他设置。检查以确保您的案例匹配。是的,该表确实存在。我只是将查询中的表名切换到较旧的表名,查询就可以工作了。在mysql administrator中,每个查询都可以工作,但在带有pdo的php中,由于不确定的原因,它会失败。我真的很确定,这些表名是正确的,正如我提到的,我发现全新创建的表也不起作用:(只是旧表而已)