使用两列过滤一个关键字的结果时出错

时间:2014-08-07 07:41:27

标签: php mysql

当我向过滤器添加另一列(ReplyN)时出现错误 这是我的代码

if($keyword) {
            $filter .= "\n $syntax t.title LIKE .$db->Quote("%$keyword%") OR t.ReplyN LIKE ".$db->Quote("%$keyword%");
            $syntax = "AND";
        }

完整代码是:

// Setup query filter
        if($keyword) {
            $filter .= "\n $syntax t.title LIKE .$db->Quote("%$keyword%") OR t.ReplyN LIKE ".$db->Quote("%$keyword%");
            $syntax = "AND";
        }

        if($ms > 0) {
            $filter .= "\n $syntax(t.milestone = $ms)";
            $syntax = "AND";
        }
        if($status == 1) {
            $filter .= "\n $syntax(t.progress < 100)";
            $syntax = "AND";
        }
        if($status == 2) {
            $filter .= "\n $syntax(t.progress = 100)";
            $syntax = "AND";
        }
        if($priority > 0) {
            $filter .= "\n $syntax(t.priority = $priority)";
            $syntax = "AND";
        }
        if($assigned == 2) {
            $user = PFuser::GetInstance();
            $filter .= "\n $syntax (tu.user_id = ".$user->GetId()." AND tu.task_id = t.id)";
            $syntax = "AND";
        }
        if($assigned > 2) {
            $filter .= "\n $syntax (tu.user_id = ".$assigned." AND tu.task_id = t.id)";
            $syntax = "AND";
        }
        if($all) {
            $filter .= "\n $syntax(t.project IN($project))";
        }
        else {
            $filter .= "\n $syntax(t.project = '$project')";
        }

1 个答案:

答案 0 :(得分:1)

你的字符串中有一个拼写错误

"LIKE .$db->Quote("%$keyword%") OR"

应该是

"LIKE ".$db->Quote("%$keyword%")." OR"