使用PDO类InDirectly更安全吗?

时间:2016-09-17 10:46:14

标签: php mysql pdo

我是面向对象PHP的新手。在教程中,教师不直接使用PDO类,而是通过函数使用它,比如

class Database{
  private $pdo;
  private $stmt;
  public function __construct(){$this->pdo = new PDO(blaa..blaa..);}
  public function preparequery($query){$this->stmt=$this->pdo->prepare($query);}
  public function bind($param,$value){$this->stmt->bindValue($param,$value);}
  public function execute(){$this->stmt->execute();}
  public function Fetch(){$this->stmt->fetchall();}
}   

然后他将这些公共函数称为任何数据库查询,如

$mysql = new Database;
$mysql->preparequery("INSERT INTO test(name,city) VALUES (:name,:city)");
$mysql->bind(':name',$_GET['name']);
$mysql->bind(':city',$_GET['city']);
$mysql->execute();

我理解它,但是我们可以直接创建一个PDO对象并与数据库进行交互,所以我只想问一下,上面的方法是否提供了一些好处(比如更多的安全性或其他东西)或者它只是用来使它变得简单(虽然我不觉得这很简单)。

1 个答案:

答案 0 :(得分:2)

更安全 这一点,但更方便

  

PDO 中使用OOP(数据建模;方法,类,继承等)概念有助于在制作一个代码时简化和加速将来的编辑{ {3}}

     

dry

它将帮助您有效地构建并减少写作。

请注意:上述OOP严格指其概念;不使用任何给定的包装类。

PDO是PHP的OOP方法