php - 直接使用 PDO 类是否更安全?

标签 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();}
}   

然后他为任何数据库查询调用这些公共(public)函数,例如

$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 对象并与数据库交互,所以我只想问一下,上面的方法是否提供了一些好处(比如更多的安全性或其他东西)或者只是为了让它变得简单(虽然我觉得这并不简单)。

最佳答案

更安全不是重点,但更方便

Making use of the OOP (data modeling; methods, class, inheritance, etc.) concept as in seen in PDO helps ease and accelerate future edits as it makes one code dry.

See suggested reading

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

请注意:上面所说的OOP严格指的是它的概念;不使用任何给定的包装类。

PDO 是 PHP 的 OOP 方法

关于php - 直接使用 PDO 类是否更安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39545908/

相关文章:

MySQL错误信息截断

mysql - 这是一个错误吗?还是错误?或者查询错误?

php - 无法使用pdo和json访问php登录

php - 使用 PHP 从 MySQL 中获取所有记录作为惰性 ="false"

php - MySqli : num_rows of grouped by hour()

php - 完全销毁 session 的最佳方法 - 即使浏览器未关闭

php - MySQL根据2个id查找一个ID

php 正则表达式文件路径 |特定字符后的第二个匹配

php - 自定义 OAuth2 用户数据库

PHP PDO 数据库错误特殊字符