如何在query()中添加条件?

时间:2016-06-04 16:10:07

标签: php mysql

所以这一定是一个新手问题,但我基本上都是在php中,而且我已经陷入困境。

我正在执行这样的查询:$db->query($query);

这是函数query():

public function query($statement){
    $req = $this->getPDO()->query($statement);
    $datas = $req->fetchAll(PDO::FETCH_OBJ);
    return $datas;
}

只要我的查询输出是一个对象,这就行了。

但是,我想要更新或删除一行。我怎么能说我想要这个功能的条件? 是否有查询输出类型的参数?

编辑:

由于在这个精确的功能中似乎不清楚,因此我不能使用UPDATE ...DELETE..之类的查询,因为它不会输出任何内容。 这正是我想要做的事情,比如

public function query($statement){
    if(output is an object){
    $req = $this->getPDO()->query($statement);
    $datas = $req->fetchAll(PDO::FETCH_OBJ);
    return $datas;
   } else if (there is no output) {
    $sth = $dbh->prepare($statement));
    $sth->execute();
   }
}

1 个答案:

答案 0 :(得分:1)

您可以检查$ statement是否以操作关键字:insert,update,select ...

开头
public function query($statement){
     $req = $this->getPDO()->query($statement);
    if(substr( $statement, 0, 6 )) === "SELECT"){      
       $datas = $req->fetchAll(PDO::FETCH_OBJ);
    }elseif(substr( $statement, 0, 6 )) === "UPDATE"){
    ....
    }

    return $datas;
}