php - PDO 在单个函数中更新多行
问题描述
我有这个函数,我试图执行多个更新语句,但它一直抛出这个错误,但它只执行第一个查询,如果 $this->status_name 和 $this->status_state 都大于 1。
function update(){
if (strlen($this->status_name)>1) {
// update query
$query = "UPDATE
" . $this->table_name . "
SET
status_name = :status_name
WHERE
status_id = :status_id";
// prepare query statement
$stmt = $this->conn->prepare($query);
// sanitize
$this->status_name=htmlspecialchars(strip_tags($this->status_name));
// bind new values
$stmt->bindParam(':status_name', $this->status_name);
$stmt->bindParam(':status_id', $this->status_id);
// execute the query
if($stmt->execute()){
return true;
}
return false;
}
if (strlen($this->status_state)>1) {
// update query
$query = "UPDATE
" . $this->table_name . "
SET
status_state = :status_state
WHERE
status_id = :status_id";
// prepare query statement
$stmt = $this->conn->prepare($query);
// sanitize
$this->status_state=htmlspecialchars(strip_tags($this->status_state));
// bind new values
$stmt->bindParam(':status_state', $this->status_state);
$stmt->bindParam(':status_id', $this->status_id);
// execute the query
if($stmt->execute()){
return true;
}
return false;
}
}
如何使用 PDO 在单个函数中成功运行多个语句?