我在包含SQL查询有效表的php文件中出现unable to resolve table
错误。
如果我 Ctrl + Enter 超过查询,那么我在数据库控制台中获得预期结果,如果我在数据库浏览器选项卡中展开数据库,那么我可以看到表格。
它不影响代码执行,但它很烦人,因为它在编写代码时引起了我的注意,它掩盖了真正的SQL错误。
我已尝试刷新数据库连接,并且我已验证php选项卡正在连接到正确的数据库。
答案 0 :(得分:21)
在2017年,我不得不去设置,语言&框架,SQL解决方案范围以及在那里添加我的项目和数据库链接以使其再次正确
答案 1 :(得分:11)
我正在获取OP正在获取的东西,问题是我的数据库服务器是MariaDB,并且我选择了MySQL作为SQL方言。
请参阅文件>设置:语言和框架> SQL方言。
答案 2 :(得分:6)
尝试从头开始重新创建数据库连接(删除现有连接并再次创建)。
考虑可能的原因......我可以想到这种情况:
没有其他想法。
答案 3 :(得分:5)
答案 4 :(得分:1)
在我的案例中,在表名之前添加了数据库名称。
例如,而不是写SELECT * FROM Client
put SELECT * FROM database.Client
。
答案 5 :(得分:1)
错误的污染污染让我感到难以忍受!
如果我开始解决SQL分辨率问题,我将检查我的分辨率范围(设置 - >语言和框架 - > SQL分辨率范围)。
一般情况下,当我的项目映射默认设置为“所有数据源”时,我遇到的问题最多。
以下步骤始终为我修复:
在下一个解析周期后,您的错误解决错误应该会消失。
您不仅限于将上述步骤应用于一个数据库连接,您可以为项目中的所有连接执行此操作。
有时候添加一个自定义分辨率范围也会起作用,但对我来说却很有用。
重新连接到数据库永远不会对我有用。
指定表格效果很好......但随着项目的增长,它会变得非常麻烦。
希望这有帮助!
编辑:
我还遇到了另一种情况,即PHPStorm只能解决我的一些查询,无论我使用何种范围分辨率设置。但是,在我将控制台附加到我的文件后,他们解决得很好。 (在“帮助”|“查找操作”中搜索“附加控制台”。您也可以将其添加到“快速列表”或键盘映射中。)
答案 6 :(得分:1)
我将添加另一个答案,因为对我来说,这是一个完全不同的(令人尴尬的)原因:
我以某种方式忘记了在数据源常规设置(您还可以设置主机,用户和密码)中添加数据库名称。
答案 7 :(得分:1)
就我而言,我单击了SQLScript中的右键,并将方言更改为“通用SQL”。它对我有用。
答案 8 :(得分:0)
要在没有SQL Resolution Scopes
选项的2017年之前的PHPStorm版本中消除此错误:
答案 9 :(得分:0)
尽管这个答案是专门针对phpstorm的,但我在IntelliJ中也遇到了同样的问题,上述修复都不对我有用。我添加了我的范围,一切都很活跃。我可以在控制台窗口中查询数据库非常好,我完全被困住了。
最终,我注意到数据库面板中的一些文本以小文本表示0 of 4
。看起来像这样:
单击0 of 4
文本后,我发现没有向连接添加任何模式,即使最初建立连接时已设置默认数据库也是如此。转到该页面允许您添加架构。确保选择“所有架构”,“当前架构”或要用于连接的特定数据库。
答案 10 :(得分:0)
我是这样解决这个问题的:
SELECT * FROM user WHERE user_email='$email' AND user_password='$password'