使用$ _GET在dql中使用#作为参数插入值

时间:2014-09-03 13:39:56

标签: php doctrine-orm dql

  • 我想插入带有##的字符串,如#abcd

*我在这样的学说中编写了插入代码

         $social = new Entities\SocialKeyword;
         $social->setEventId($_GET["eventId"]);
         $social->setHashtag($_GET["hashtag"]);

        $this->em->persist($social);
        $this->em->flush();

*但是当我在这样的网址中提供参数时

serve.biz/index.php/socialkey/abc?eventId=6666&hashtag=#jhfskfgvgusdisdfds

在这种情况下,没有值或字符串被添加到colum'hashtag'及其空

但是当我试试这个 serve.biz/index.php/socialkey/abc?eventId=6666&hashtag=jhfskfgvgusdisdfds(没有'#'的意思)

工作正常。

所以如何用#插入它。

需要帮助。

1 个答案:

答案 0 :(得分:0)

主题标签在URL中有意义,并且不是查询字符串的一部分,如果要将其作为get参数传递,则必须将其转义。

看看urlencode; hastag的urlencoded字符串是%23,所以你应该试试这个:

serve.biz/index.php/socialkey/abc?eventId=6666&hashtag=%23jhfskfgvgusdisdfds

话虽如此,传递主题标签也没用,因为这更像是你想要在视觉上代表标签的方式,而且它甚至不需要在de中D B。最好在视图中渲染标记时添加它...