2 回答

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
錯(cuò)誤是您返回一個(gè) $result,這僅在使用 select 語句時(shí)有效。但是在插入、更新、刪除時(shí)不需要 $result,$result 不是布爾值,這就是它在 if 語句中不起作用的原因。您應(yīng)該返回 $stmt 因?yàn)椴⒃?if 語句中檢查
將您的代碼更改為此,它應(yīng)該可以工作:
protected function unSetArticle($id) {
$conn = $this->connect();
$sql = "UPDATE article SET deleted=1 WHERE row_id=?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $id);
$stmt->execute();
return $stmt;
}//Method unSetArticle.

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
這段代碼在很多層面上都是錯(cuò)誤的,但主要問題是方法 showDeleteArticle() 是錯(cuò)誤的并且具有誤導(dǎo)性。
這種方法根本沒有理由。另一個(gè)答案被接受的事實(shí)證明了這一點(diǎn)。提供的代碼總是返回類似true的值,因此 showDeleteArticle() 中的條件變得無用??梢詫⑵渲貙憺?/p>
public?function?showDeleteArticle($id)?{ ????echo?"Article?has?successfully?been?deleted."; }
因?yàn)樗肋h(yuǎn)不會(huì)進(jìn)入 else 部分。
更不用說任何控制器都不應(yīng)該直接脫口而出任何數(shù)據(jù),而不是通過視圖。至少在 POST 請(qǐng)求之后必須有重定向,而不是輸出。
- 2 回答
- 0 關(guān)注
- 181 瀏覽
添加回答
舉報(bào)