使用strpos识别UPDATE或INSERT查询:不按预期工作

时间:2011-07-15 08:07:11

标签: php mysql strpos

以下代码接收查询,并且只能在查询包含“INSERT”或“UPDATE”时执行。但当我将它'INSERT INTO test_table(id,test_value)VALUES(1,'Test')'时,它会引发'需要更新或插入查询'。

我错过了什么?

    public function setQuery($query)
{                
    if(strpos($query, 'INSERT') === false && strpos($query, 'UPDATE') === false ) {
                trigger_error('Method [' . __FUNCTION__ . '] requires an Update or Insert query [Q: '.$query.']');
                exit;
            }

    $this->_queries++;                
    mysql_query($query);
    $this->_result = mysql_insert_id();

    if(!$this->_result) {
                trigger_error('Method [' . __FUNCTION__ . '] failed [Q: '.$query.']');
    }                
    return $this->_result;
}

2 个答案:

答案 0 :(得分:3)

也许有人发给你'插入'?试试stripos :)

答案 1 :(得分:1)

当我使用您提供的参数尝试时,它可以正常工作。

(顺便说一句,如果你使用stripos,它会更健壮一点)

不能告诉你它为什么不适合你。

下进行。