DQL正在搜索MD5字符串



如何使用DQL在数据库中搜索MD5字符串。

我正在使用条令,并希望在DQL中编写以下查询。

SELECT * FROM club_members WHERE md5( CONCAT('secret_key',id)) = '8e801b9cd9b38c142472d5fc5238f538'

我试过

$dql = "SELECT c FROM modelsClub_members c WHERE md5( CONCAT('".$secret_key."',c.id)) = '8e801b9cd9b38c142472d5fc5238f538'";

但是得到一个致命的错误

致命错误:未捕获异常"Doctrine\ORM\Query\QueryException",消息为"[语法错误]第0行,第52列:错误:应为已知函数,在//application/librarys/Doctrine/OM/Query/QQueryException.php中获得"md5":42堆栈跟踪:#0//applications/librarys/Doctrine/OM/Query/Passer.php//application/librarys/Doctrine/OM/Query/Passer.php(2311):Doctrine\ORM\Query/Passer->FunctionDeclaration

有什么建议吗?

MD5未包含在标准Doctrine中,您需要安装MD5扩展:https://github.com/beberlei/DoctrineExtensions/blob/master/lib/DoctrineExtensions/Query/Mysql/Md5.php

相关内容

  • 没有找到相关文章

最新更新