2016-07-12 85 views
4

我得到unable to resolve table錯誤出現在包含SQL查詢有效表的php文件中。無法解析PhpStorm中的有效表

enter image description here

如果我Ctrl + Enter通過查詢,在DB控制檯然後我得到預期的結果,如果我在DB Explorer項展開數據庫,然後我可以看到表。

這不會影響代碼執行,但它很煩人,因爲它在編寫代碼時引起了我的注意,並且它掩蓋了真正的SQL錯誤。

我已經嘗試刷新數據庫連接,並且我已驗證php選項卡正在連接到正確的數據庫。

+0

1)嘗試從頭開始重新創建數據庫連接(刪除該連接並重新創建); 2)確保其中一個數據庫被選爲「默認」(基本上 - 在該數據庫的「解決不合格引用」列中的勾號)。理想情況下使用db登錄只能看到1個數據庫; 3)也許它與另一個面向DB的插件衝突(嘗試禁用所有非捆綁插件); 4)並請始終指出使用的確切IDE版本 – LazyOne

+0

@LazyOne - 刪除並重新創建數據源工作,謝謝。如果您將評論複製到答案,我會將其標記爲已接受。 –

回答

4

嘗試從頭開始重新創建數據庫連接(刪除現有數據庫並重新創建它)。


可能的原因想...我能想到這個情景:

  • 在當前穩定版本(目前2016.1.x)與項目合作;
  • 在此項目上嘗試爲下一個版本(2016.2在此時刻)創建EAP,並在那裏進行一些與數據庫相關的更改(即使簡單同步數據庫);
  • 回到穩定版本(2016.1.x)..並且因爲新版本對DB相關數據(緩存的數據庫結構等)使用較新的文件格式/版本,IDE可能會開始忽略此類數據的「未知/較新」格式,而不是拋出適當的警告,它只是「默默地」拋出「未解決的表」消息。

沒有其他想法。

9

在2017.2我不得不去設置,語言0​​框架,SQL分辨率範圍,並添加我的項目,數據庫鏈接在那裏便又

+0

我也是。它被設置爲所有數據庫,我不得不將其切換到我用於此項目的特定數據庫。 SQL Server和PHPStorm 2017.2。 – Bas

0

得到它在我的情況下工作表的名稱前添加數據庫名稱。

例如,而不是寫作SELECT * FROM ClientSELECT * FROM database.Client