为了账号安全,请及时绑定邮箱和手机立即绑定

在 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 关注
  • 194 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号