在php中将mysql数据库转换为pdo类

在php中将mysql数据库转换为pdo类,php,mysql,pdo,frameworks,Php,Mysql,Pdo,Frameworks,我有一个数据表,我想创建一个pdo类来使用它进行操作,并将数据表的字段转换为公共变量,以便访问它们 例如: <?php class personne { //code to get fields from datatable and turn them to variables } $p=personne::find(1); //find personne who have 1 as id echo $p->nom; ?> 以及存储在变量值中

我有一个数据表,我想创建一个pdo类来使用它进行操作,并将数据表的字段转换为公共变量,以便访问它们

例如:

<?php 
 class personne
  {
      //code to get fields from datatable and turn them to variables
  }

 $p=personne::find(1); //find personne who have 1 as id
 echo $p->nom;
?>

以及存储在变量值中的字段值

谢谢。

这是:

class Person {

  private static $instance = null;
  private $db;
  private static $data;

  private function __construct() {
    try {
      $pdo_param = array(
        PDO::ATTR_ERRMODE               => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE    => PDO::FETCH_ASSOC
      );
      $this->db = new PDO("mysql:host=YOUR_HOST_NAME;dbname=YOUR_DB_NAME", "YOUR_USERNAME", "YOUR_PASSWORD", $pdo_param);
    }
    catch(PDOException $e) {
      die($e->getMessage());
    }
  }

  private static function getInstance() {
    if (self::$instance == null) {
      self::$instance = new self();
    }
    return self::$instance;
  }

  public static function find($id) {
    try {
      $instance = self::getInstance();
      $result = $instance->db->query(YOUR_SQL_QUERY);
      self::$data = (object)$result->fetch();
      return self::$data;
    }
    catch(PDOException $e) {
      die($e->getMessage());
    }
  }

}

$p = Person::find(1);
echo $p->name;

可以有什么问题吗?遇到任何问题?如果
find
personne
的静态方法,则不能使用
new
<代码>$p=新员工::查找(1)给出了一个错误是的,我同意你的意见,我现在编辑的内容抱歉没有使用它给出这个“致命错误:在第31行的/home/touhfata/new/p/index.php中不在对象上下文中时使用$this”修复了它,并对它进行了测试。这种方法叫做单例设计模式,通常用于数据库连接类,以确保该类只有一个实例。