将字符串与散列(#)进行比较

时间:2014-09-10 07:22:56

标签: php symfony doctrine-orm

我有一个像这样的更新查询 -

$qb = $this->em->createQueryBuilder();
$q = $qb->update('Entities\SocialKeyword', 'u')
->set('u.published', '?1')
->where('u.eventId = ?2')
->andwhere('u.hashtag = ?3')
->setParameter(1,$this->published)
->setParameter(2,$this->event_id)
->setParameter(3,$this->hashtag)
->getQuery();
$p = $q->execute();

我的数据库中有一个列'hashtag'。

当我比较像-abcdefgh这样的字符串时,它的工作正常,但是当我将字符串与哈希(#)进行比较时,#abcdefgh无效。

我正在传递这些来自URL的所有参数 -

serve.shows / index.php的/微博/ add_keyword EVENT_ID = 33889&安培;#标签=#ijklmnopqaasd&安培;发表= 1

当我使用'%23'代替'#'时,它也无效。

那么如何将字符串与hash-tag进行比较。

1 个答案:

答案 0 :(得分:0)

当你说“它不能正常工作”时,你究竟是什么意思?

数据库中存储了什么?带或不带'#'的标签字符?

您可能需要在比较之前对所有传入参数进行urldecode(http://us2.php.net/manual/en/function.urldecode.php)。