1

使用SQL查询我试图编写一个trackEvents onclick函数,但它出错了,我不知道如何转义查询中的特殊字符。SQL查询中的谷歌Analytics(分析)trackEvents语法错误

这就是我试图让:

<a href="http://domain.com/download.pdf" onclick="_gaq.push(['_trackEvent','Download', 'PDF', 'Test Tracking']);">Test tracking</a> 

使用此查询:

SELECT 
'<a href="' + downloadurl + '" class="pdf" onclick="_gaq.push(["_trackEvent", 
"Download", "PDF", "' + prd.title + '"]);">Download</a>' as targetWebsite 

FROM product prd 

WHERE 
id = @[email protected] 
and downloadurl <> '' 

电流输出:

<a href="http://domain.com/download.pdf" class="pdf" onclick="_gaq.push([" _trackevent",="" "download",="" "pdf",="" "title"]);"="">Download</a> 

我想知道如何逃生单引号,并可能找出为什么在那里有'='字符和额外的引号。我已经尝试了各种各样的东西,包括一个javascript函数,以使sql字符串更简单,但它没有工作。

+0

http://stackoverflow.com/search?q=escape+单+报价 –

回答

0

双,如果你希望出现单引号,而不是双引号单引号,如

DECLARE @downloadurl VARCHAR(50) 
DECLARE @title VARCHAR(50) 
SET @downloadurl = 'http://domain.com/download.pdf' 
SET @title = 'Test Tracking' 


SELECT 
'<a href="' + @downloadurl + '" class="pdf" onclick="_gaq.push([''_trackEvent'', 
''Download'', ''PDF'', ''' + @title+ ''']);">Download</a>' as targetWebsite