Php 使用CONCAT和LIKE子句的结果

Php 使用CONCAT和LIKE子句的结果,php,cakephp,Php,Cakephp,我只想简单解释一下这个CONCAT和LIKE在代码中的作用。多谢各位 $data = $this->request->data; $conditions = array('authenid' => $data['id'], 'isblacklist' => $data['isblacklist']); if( $data['key'] == "msisdn" ) { if(isset ($data["search"])){

我只想简单解释一下这个CONCAT和LIKE在代码中的作用。多谢各位

$data = $this->request->data;
    $conditions = array('authenid' => $data['id'], 'isblacklist' => $data['isblacklist']);

    if( $data['key'] == "msisdn" ) {
        if(isset ($data["search"])){
            if( trim($data["search"]) != "" ) {
                $conditions[ "CONCAT(msisdn,',',ton,',',npi) LIKE" ] = "%".trim($data["search"])."%";
            }
        }
        $tmpData = $this->blkwhtlist_msisdn->find('all', array(
            'conditions' => $conditions
        ));

我猜您正在尝试在mysqldb中查询:

CONCAT是在mysql中连接的字符串函数:

CONCAT('abc', '.de') that return a string 'abc.de'
而类是一个mysql操作符,用于根据模式选择数据。因此,在SELECT语句的WHERE子句中经常使用LIKE运算符。mysql提供了两个通配符,用于LIKE运算符,即百分比%和下划线\

  • 百分比(%)通配符允许您匹配任何零字符串 一个或多个字符
  • 下划线(_)通配符允许您匹配 任何单个字符

谢谢。这很有帮助