创建表时PHP PDO MySQL访问被拒绝

创建表时PHP PDO MySQL访问被拒绝,php,mysql,pdo,Php,Mysql,Pdo,用户可以通过PHP PDO登录用户、密码、数据库和选择、插入、更新 但在创建表时失败,出现拒绝访问错误。同一用户可以通过MySQL客户端登录并创建表 格兰特表明user@localhost具有数据库的创建权限 如何开始诊断这个问题?实际上,在mysql中,用户是根据主机授予权限的,用户将尝试访问数据库。查看mysql.user表。 应用程序可能部署在主机1上,因此使用用户A@host1,并在登录到主机2上的MySQL客户端时使用用户A@host2. 它们在用户表中具有不同的权限。因此,我建议从代

用户可以通过PHP PDO登录用户、密码、数据库和选择、插入、更新

但在创建表时失败,出现拒绝访问错误。同一用户可以通过MySQL客户端登录并创建表

格兰特表明user@localhost具有数据库的创建权限


如何开始诊断这个问题?

实际上,在mysql中,用户是根据主机授予权限的,用户将尝试访问数据库。查看mysql.user表。 应用程序可能部署在主机1上,因此使用用户A@host1,并在登录到主机2上的MySQL客户端时使用用户A@host2. 它们在用户表中具有不同的权限。因此,我建议从代码中的一堆“小”错误开始。所有的回答都让我找对了地方。 可能主要原因是我对数据库连接的误解。由于用户登录到数据库,我假设createtemp表会在那里创建它。它没有——它需要一个明确的数据库

谢谢你的建议


Frank p

远程和本地用户可能具有不同的权限。您确定两种情况下的连接方式相同吗?