PHP:SQL语法错误

iam*_*esy 0 php sql syntax-error where-clause

我有一个PHP类,它基于从表单输入的值创建SQL查询.我越来越

关键字'WHERE'附近的语法不正确.))

这是我的代码.问题出现在每个WHERE子句周围(已经处理SQL注入btw).

    if($from != ''){
        $from = date('Y-m-d H:i:s',strtotime($from));
    }

    if($to != ''){
        $to   = date('Y-m-d H:i:s',strtotime($to));
    }



    $tsql = "SELECT COUNT(tblBackupArchive.StatusID) AS total, tblBackupArchive.StatusID ".
            "FROM tblBackupArchive INNER JOIN ".
            "tblBackup ON tblBackupArchive.BackupID = tblBackup.BackupID ".
            "GROUP BY tblBackupArchive.StatusID, tblBackup.ClientID ";

    if($from != '' && $to !=''){
        $tsql .=  "WHERE (tblBackupArchive.BackupDate BETWEEN '" . $from ."' AND '" . $to . "') ";
    }

    if($from != '' && $to=''){
        $tsql .= " WHERE (tblBackupArchive.BackupDate > '" . $from ."') ";
    }

    if($to != '' && $from = ''){
        $tsql .= " WHERE (tblBackupArchive.BackupDate < '" . $to ."') ";
    }

    if(isset($bmsid)){
        $tsql .= "HAVING (tblBackup.ClientID = " . $bmsid . ")";
    }
Run Code Online (Sandbox Code Playgroud)

我对这些语法错误感到很糟糕:(

有人可以帮我吗?

Jonesy

Red*_*ter 5

你的WHERE条款需要在GROUP BY条款之前.