2017-07-21 53 views
0

問題:提供SQL佔位符值參數

我使用了一個框架,在多點提供查詢,就像這樣:

$sql = "select $sArticleTable.* from table_A left join " . 
     "$sArticleTable on table_A.objectid=$sArticleTable.id " . 
     "where table_A.articlenid = $sArticleId " . 
     "and $sArticleTable.id is not null and " . $object->someMoreSQL() . 
     "order by table_A.sort"; 

正如你所看到的,一個表名被通過插入變量$sArticleTable。儘管我非常厭惡編寫MySQL語句的這種方式,但現在我沒有辦法做到這一點。

這種書寫語句的方式可以防止PhpStorm正確識別表名,因此不會顯示自動填充建議。

如何向PhpStorm提供變量$sArticleTable的佔位符值,以便它將再次提供自動填充建議?

我在設置中嘗試過Database -> User Parameters,但我沒有提示輸入佔位符值。

我也知道我可以簡單地用正確的表名替換變量,調整SQL然後重新輸入變量。但這似乎相當不專業,因爲我認爲PhpStorm可能會在這裏提供解決方案。

此外,由於我已經在調整SQL,所以我可以用更合適的方式重寫語句。其中,這樣一個相對較小的陳述,我可能最終會做。然而,有很多更大的陳述會耗盡時間來重寫。

+0

這是你正在使用的框架? –

+0

電子商務框架稱爲氧化銷售。 – Micha

回答

1

ATM沒有辦法做到這一點。我可能在這裏是錯的...但它可能只支持Joomla最新2017.2版本(考慮它們的具體語法)..但沒有其他通用的方式(它適用於表名或表名前綴)。

以下是關於這個問題的一些相關的門票 - 看他們(星/票/評論)要獲得任何進展通知:


PS如果您不喜歡像這樣的SQL錯誤(IDE顯示它們的事實),那麼您可以告訴IDE將此字符串視爲純文本(因此不包含SQL顏色/錯誤) - 在字符串開始引號之前放置/** @lang Text */