php - 这是一个安全的 OO php 数据库连接还是浪费代码

标签 php database oop

<分区>

所以我已经编程了一段时间,并决定学习 OOP。我为数据库连接创建了这个类,我不确定这是浪费代码还是做事的好方法。我仍然觉得我不太了解 OOP,但我会到达那里,这只是练习。我想我的目标真的是尽可能多地为类保留私有(private)的数据库连接,并让类像 mysqli_close(); 一样进行所有清理工作。

class db {

private $db_user;
private $db_pass;
private $db_host;
private $db_name;
private $link;
private $db_error;

public function escape($string) {

    return mysqli_real_escape_string($this->link, $string);

}

public function query($query) {

    return = mysqli_query($this->link, $query);

}

function __construct() {

    $this->db_error = 'Database Error';
    $this->db_user = 'root';
    $this->db_pass = '';
    $this->db_host = 'localhost';
    $this->db_name = 'test';

    $this->link = mysqli_connect($this->db_host, $this->db_user, $this->db_pass) or die($this->db_error);
    mysqli_select_db($this->link, $this->db_name) or die($this->db_error);

}

function __destruct() {

    mysqli_close($this->link);

}

编辑: 感谢您的回答,我将学习 PDO。

最佳答案

它本身并没有错误,只是因为它不支持准备好的语句,因此容易被利用,但它也不是值得花费时间的有用的东西; PHP's PDO class是您要搜索的轮子。

关于php - 这是一个安全的 OO php 数据库连接还是浪费代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17351770/

相关文章:

PHP OOP 数据库类 - 真的需要吗?

php - 为什么在 laravel blade 中条件 @if 不工作? (拉拉维尔 5.3)

php - 如何使用 XPath 执行 WHERE 语句?

php - 合并 symfony1 和 Symfony2 项目

database - 是否有教程或书籍将 MVVM + DI 和使用数据库中的数据合二为一?

database - 如何使用 Flyway 从 DB Schema 导出或导入数据

php - 如何使用继承来传递查询?

php - 为变量分配默认值的最短方法?

sql - 如何检查表上持有哪些锁

JavaScript:继承