Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php zend框架,其中使用regexp进行查询_Php_Mysql_Zend Framework_Zend Framework2 - Fatal编程技术网

Php zend框架,其中使用regexp进行查询

Php zend框架,其中使用regexp进行查询,php,mysql,zend-framework,zend-framework2,Php,Mysql,Zend Framework,Zend Framework2,我想在数据库中搜索具有这些条件的数据 选择* 来自SMS_报告 其中AWB_无REGEXP“1500” 或SMS_TEXT REGEXP“某些字符串” 或在“%some string%”之类的位置更新_; 我想使用上述条件在数据库中查询请帮助我查询Zend framework这里是我找到的内容及其对我的帮助 $sql = new Sql($this->adapter); $select = $sql->select(array('t1' => $this->ta

我想在数据库中搜索具有这些条件的数据

选择*
来自SMS_报告
其中AWB_无REGEXP“1500”
或SMS_TEXT REGEXP“某些字符串”
或在“%some string%”之类的位置更新_;

我想使用上述条件在数据库中查询请帮助我查询Zend framework

这里是我找到的内容及其对我的帮助

$sql = new Sql($this->adapter);
    $select = $sql->select(array('t1' => $this->table));
    $select->columns(array(
        'From' => 'SMS_From',
        'AWB_NO',
        'Text' => 'SMS_TEXT',
        'Status',
        'Send_at' => new Expression('IF(t1.Update_at IS NOT NULL,t1.Update_at,"")')
    ));
    if (isset($data['search_string']) && !empty($data['search_string'])) {
        $date = date('Y-m-d',strtotime($data['search_string']));
        $select->where(array(
            new PredicateSet(
                array(
                    new PredicateExpression("Update_at = '".$date."'"),
                    new PredicateExpression("SMS_TEXT REGEXP '".$data['search_string']."'"),
                    new PredicateExpression("AWB_NO REGEXP '".$data['search_string']."'"),
                ),
                PredicateSet::COMBINED_BY_OR
            ),
        ));
    }
    $select->join(array('t2' => 'MST_Clients'),'t1.Client_ID = t2.Client_ID',
        array(
            'Client_Name' => new Expression('IF(t2.Client_Name IS NOT NULL,t2.Client_Name,"")'),
        ),'LEFT');
    // echo $sql->getSqlStringForSqlObject($select);die; 
    if($paging) {
        $dbAdapter = new DbSelect($select, $this->getAdapter ());
        $paginator = new Paginator($dbAdapter);
        return $paginator;
    }else {
        $smt = $sql->prepareStatementForSqlObject($select);
        $result = $this->resultSetPrototype->initialize($smt->execute())->toArray();
        return $result;
    }

或其中
只能是
ok@Qirel done您能告诉我zendUse原始查询方法的查询结果吗?->最简单的方法..@RaymondNijland我想用SQL对象
$SQL=newsql($this->adapter)编写它$select=$sql->select(数组('t1'=>$this->table))Zend不支持MySQL的关键字REGEXP native->