2012-02-18 266 views
2

我有一個postgres表與包含字符串的列(稱爲id)。在大多數情況下,字符串包含一個美元字符,如<[email protected]>。 我在php腳本中使用PDO語句來獲取此表的相關行和列,包括上述的id列。獲取PDO結果集包括美元字符在PHP

但是當我嘗試使用來自id列的值時,這樣一個id的PDO結果似乎是空的。

Example: 
Expected result: "id":"<[email protected]>", "body":"This is a test", ... 
Real result: "id":"","body":"This is a test", ... 

我想原因是PHP解釋字符串中的美元字符作爲變量的開始。 是否有任何操作PDO結果的可能性,以便我可以使用包含$的字符串?

+2

看看你的頁面源代碼。 '<>'裏面的內容可能在那裏,但在瀏覽器中沒有顯示,因爲它們被誤解爲錯誤的html。它與'$'無關。 – 2012-02-18 21:36:24

+0

或者這是一個雙引號字符串內部可變插值的問題,尋找一個以'$'開頭的不存在的變量。 – 2012-02-18 21:37:59

+0

您是否已經從沒有任何後處理的查詢中刪除原始結果以確保它不是您的代碼解釋$符號? – quickshiftin 2012-02-18 21:44:31

回答

0

這很可能不是美元字符,而是三角括號(<>)。查看頁面上的源代碼以查看它們。

您可以使用htmlentities()將其更改爲HTML兼容版本。 (&lt; &gt;