在php中将mysql数据库转换为pdo类
我有一个数据表,我想创建一个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; ?> 以及存储在变量值中
<?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”修复了它,并对它进行了测试。这种方法叫做单例设计模式,通常用于数据库连接类,以确保该类只有一个实例。