在OOP中使用哪个更安全?

问题描述 投票:0回答:1

我在学习POP和OOP时学习了这两种方法,我想问一下哪种方法更安全?绑定我们使用的所有内容或仅使用?并执行它。

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()); 
  }
}
php oop pdo
1个回答
0
投票

第二个要好得多,但仍然有一个货神教徒catch。它不返回任何东西。应该是

public function query($query, $params = []){
    $stmt = $this->datab->prepare($query);
    $stmt->execute($params);
    return $stmt;
}

它可以用于任何查询,不仅可以插入,还可以选择,更新,删除等。

© www.soinside.com 2019 - 2024. All rights reserved.