如何在SQL CONCAT中转义#以在URL中锚定

时间:2013-09-25 16:17:36

标签: php mysql sql

我正在设置一个数据库查询来访问和链接到注释,但是我无法转义CONCAT中的#符号。这是我目前的查询:

SELECT c.subject, CONCAT('node/', c.nid, '/comment-', c.cid) FROM {comments} c WHERE c.subject LIKE LOWER(:like_word)

创建这样的网址:node / 1234 / comment-1234

我需要包含#来创建一个这样的url:node / 1234 /#comment-1234但由于#符号不起作用。

SELECT c.subject, CONCAT('node/', c.nid, '/#comment-', c.cid) FROM {comments} c WHERE c.subject LIKE LOWER(:like_word)

1 个答案:

答案 0 :(得分:0)

您能提供更多详情吗?你说它“由于#符号而无效”。它怎么行不通?你收到错误了吗?结果字符串不是您所期望的吗?

我在MySQL 5.5上尝试了一个测试,看起来像是一个正常的响应:

mysql> select concat('foo/', 'bar', '/#comment');
+------------------------------------+
| concat('foo/', 'bar', '/#comment') |
+------------------------------------+
| foo/bar/#comment                   |
+------------------------------------+
1 row in set (0.00 sec)