Php 如何在URL中为锚点转义SQL CONCAT中的

Php 如何在URL中为锚点转义SQL CONCAT中的,php,mysql,sql,Php,Mysql,Sql,我正在设置一个数据库查询以访问和链接到注释,但我无法在CONCAT中转义符号。以下是我当前的查询: SELECT c.subject, CONCAT('node/', c.nid, '/comment-', c.cid) FROM {comments} c WHERE c.subject LIKE LOWER(:like_word) 创建如下URL:node/1234/comment-1234 我需要包括创建一个url,如:node/1234/comment-1234,但由于该符号,这不起作用

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

SELECT c.subject, CONCAT('node/', c.nid, '/comment-', c.cid) FROM {comments} c WHERE c.subject LIKE LOWER(:like_word)
创建如下URL: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)

你能提供更多的细节吗?你说因为这个标志它不起作用。它怎么不起作用?你有错误吗?结果字符串不是您所期望的吗

我在MySQL 5.5上尝试了一个测试,得到了正常的响应:

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

Drupal的注释表名为comment,而不是comments,似乎工作正常……事实上,查询很好。db_querySELECT c.subject,CONCAT'node/',c.nid,'/comment-',c.cid FROM comment c->fetchAll;在标准D7安装中不会产生错误我会进一步研究,但正如Drupal6中的注释一样