所以这一定是一个新手问题,但我基本上都是在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();
}
}
答案 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;
}