PHP pdo单例模式连接数据库

Posted newmiracle宇宙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP pdo单例模式连接数据库相关的知识,希望对你有一定的参考价值。

php pdo单例模式连接数据库
<pre>
<?php

class Db
{
private static $pdo;

public static function getPdo ()
{
var_dump(self::$pdo);
echo ‘</br>‘;
if ( self::$pdo == null )
{
$host = ‘localhost‘;
$user = ‘root‘;
$pwd = ‘‘;
$dbname = ‘wangzhan‘;

$dsn = "mysql:host=$host;dbname=$dbname;port=3306";
$pdo = new PDO ( $dsn, $user, $pwd );
$pdo->query(‘set names utf8;‘);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
self::$pdo = $pdo;
}
return self::$pdo;
}

public static function getStmt ( $sql )
{
$pdo = self::getPdo ();
return $pdo -> prepare( $sql );
}
public static function getinsertids()
{
$pdo = self::getPdo();
$insertid = $pdo->lastInsertId();
return $insertid;
}
}


$sql = "INSERT INTO testss (wef,wef1) VALUES(?,?)";
$stmt = Db::getStmt ( $sql );
$stmt = Db::getStmt ( $sql );


?>
</pre>
输出结果
<pre>
NULL
object(PDO)#1 (0) { }
</pre>
第一次null 第二次再获取就已经有了 不用重新连接了
单利模式好处就是保存变量 他是用static保存的 所以 退出函数 变量不会释放

以上是关于PHP pdo单例模式连接数据库的主要内容,如果未能解决你的问题,请参考以下文章

php 用于PHP PDO连接的类 - 单例实现。实例方法返回具有指定连接的新PDO连接

单例数据库与持久数据库 [重复]

PHP单例模式实例,连接数据库对类的引用

使用 PHP PDO 设计数据库抽象类

php单例连接数据库

php单例模式