1

使用 SQL 查询我正在尝试编写 trackEvents onclick 函数,但结果完全错误,我不知道如何转义查询中的特殊字符。

这就是我想要得到的:

<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 = @dbid@
and downloadurl <> ''

电流输出:

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

我想知道如何转义单引号,也许会找出为什么那里有 '=' 字符和额外的引号。我尝试了各种方法,包括一个 javascript 函数来使 sql 字符串不那么复杂,但它没有用。

4

1 回答 1

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
于 2013-01-08T15:31:24.650 回答