亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 OOP 中使用哪個更安全?

在 OOP 中使用哪個更安全?

PHP
溫溫醬 2023-03-04 14:40:33
我在學習PDO with OOP的時候學習了這2個方法,請問哪個用起來更安全?綁定我們使用的所有東西還是只使用?并執行它。1:    public function query($query) {  $this->stmt = $this->dbh->prepare($query);}public function bind($param, $value, $type = null) {    if (is_null($type)) {      switch(true){        case is_int($value):            $type = PDO::PARAM_INT;            break;        case is_bool($value):            $type = PDO::PARAM_BOOL;            break;        case is_null($value):            $type = PDO::PARAM_NULL;            break;            default:            $type = PDO::PARAM_STR;      }    }    $this->stmt->bindValue($param, $value, $type);}public function execute(){  return $this->stmt->execute();}public function lastInsertId(){  $this->dbh->lastInsertId();}或 2:    public function insertRow($query, $params = []){  try {      $stmt = $this->datab->prepare($query);      $stmt->execute($params);      return TRUE;  } catch (PDOException $e) {      throw new Exception($e->getMessage());   }}
查看完整描述

2 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

第二個要好得多,但仍然存在貨物崇拜catch。它不返回任何東西。應該


public function query($query, $params = []){

    $stmt = $this->datab->prepare($query);

    $stmt->execute($params);

    return $stmt;

}

它可以用于任何查詢,不僅可以插入,還可以選擇、更新、刪除等。


查看完整回答
反對 回復 2023-03-04
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

您可以同時使用兩者,但是使用 bind 可以更好地編寫所有類型而不是使用 switch 并且為了縮短您可以使用 2.


public function query($query, $params = []){

    global $datab

    $stmt = $datab->prepare($query);

    $stmt->execute($params);

    return $stmt;

}


查看完整回答
反對 回復 2023-03-04
  • 2 回答
  • 0 關注
  • 170 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號