无法在SQL代码上解析符号(PhpStorm问题)

时间:2016-06-18 11:31:21

标签: phpstorm

我正在使用PhpStorm 2016.1.2并且已经使用PhpStorm几年了。我使用数据库连接设置了Storm,并显示了我的PHP页面连接到的MySQL数据库。 SQL通常通过数据库连接类在自定义函数的PHP页面中编写。

示例代码块:

$checkData = $dataBaseSecure->getSelect(
"SELECT check_login.fail_id, UNIX_TIMESTAMP(check_login.last_action) AS timer
FROM check_login WHERE check_login.ip_addr = ? AND check_login.check_drop = ? ",
 $data, TRUE);  

不要担心数据库PHP包装器,PHP中的这种样式和SQL布局已经在我的工作中使用了几年,在PhpStorm和工作完全准确地在服务器上并在所有测试中。

截至昨日(2016年6月17日)

我不知道发生了什么变化但突然PhpStorm现在告诉我,在我的所有SQL字符串上,所有我的项目:

  

Unable to resolve symbol '<table name>'

  

Unable to resolve column '<column name>'

并且(由于这个原因)PhpStorm不再执行任何自动完成或组织功能,因为我处理我的SQL代码。

我尝试过的解决方案

  • 我已经尝试根据this answer to a similar question使我的缓存无效并重新生效。但这没有帮助。

  • 我已经非常仔细地探索了我的设置,但是PhpStorm数据库选项卡已成功连接到数据库,据我所知,我没有做任何更改导致这种行为改变。

  • 我已经查看了PhpStorm首选项中的各种(和许多)设置,但没有看到任何关于此问题的任何内容,或者我调整过的更改都没有解决它。

  • 我找到this answer但这似乎不适用,因为我的表名是不是变量。我还发现了this post,其中2014年的日期显示了类似的问题但不是合适的解决方案。

    • 我在大多数项目中只有一个数据库连接,但是如果出现此问题,数据库的数量似乎不会生效。
  • 使用命名实体周围的适当反引号完全转义SQL查询无法解决问题。

  • 我已将 SQL dialect 正确配置为正确的MySQL。

  • 阅读我在Stack Overflow上找到的相关帖子没有提供有用的信息。

我在PhpStorm中没有与此问题或PHP / MySQL交互相关的插件。

如果您有任何想法如何解决此问题,请告诉我。如果您有特定的偏好,请让我查一下,请告诉我,我可以将它们添加到问题中,(在PhpStorm中有很多偏好我现在不会在这里发布,因为我敢肯定与此问题无关)。

关键是这个系统两天前工作得很好!!!

1 个答案:

答案 0 :(得分:7)

请尝试重新同步您的数据库模式 - 以防万一它以某种方式损坏或无效。

如果它没有给出任何视觉效果 - 尝试更激进的版本:

  • 关闭IDE
  • 打开此项目的.idea子文件夹(存储此项目设置的位置)
  • 删除dataSources.ids文件
  • 在IDE中重新打开项目
  • 重新同步数据库结构/从头开始重新创建数据库连接。