php中连接数据库,使用单例模式遇到的问题

php中连接数据库,使用单例模式遇到的问题,第1张

当然是重新连接了,你是跳转不是包含。

跳转两者之间共享值要专门的传值 *** 作,cookie\

session\

POST/GET

\静态输出

PHP pdo单例模式连接数据库

'

if ( self::$pdo == null )

{

$host = '115.29.223.160'

$user = 'zhangwei'

$pwd = 'zhang111'

$dbname = 'wangzhan'

$dsn = "mysql:host=$hostdbname=$dbnameport=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 )

}

}

$sql = "INSERT INTO testss (wef,wef1) VALUES(?,?)"

$stmt = Db::getStmt ( $sql )

$stmt = Db::getStmt ( $sql )

?>

输出结果

NULL

object(PDO)#1 (0) { }

第一次null 第二次再获取就已经有了 不用重新连接了

单利模式好处就是保存变量 他是用static保存的 所以 退出函数 变量不会释放

关于这个问题,差不多就是这个样子的了,你如果不明白,可以自己去后盾瞅瞅,我这些都是在后盾上学的,有空可以去看一下,就算不喜欢也没关系啊,何乐而不为呢?

搭建好php开发环境,这个就不多讲了,能找单例模式的应该有一定的php基础

2

新建一个database.php文件存放数据库信息

<?php

$db = array(

'host'=>'localhost',//地址

'user'=>'root',//数据库用户名

'password'=>'root',//数据库密码

'database'=>'ceshi',//数据库名

)

?>

3

新建Mysql.class.php编写数据库连接类 *** 作类添加需要的属性和构造方法

构造函数加载数据库配置文件连接数据库

<?php

class db {

public $conn

public static $sql

public static $instance=null

private function __construct(){

require_once('database.php')

$this->conn = mysqli_connect($db['host'],$db['user'],$db['password'])

if(!mysqli_select_db($this->conn,$db['database'])){

echo "失败"

}

mysqli_query($this->conn,'set names utf8')

}

}

?>这样试试吧如果你对php这类有兴趣的话,可以和我一样在后盾人经常看看教材,自己多看几遍,慢慢的以后就明白了,希望能帮到你,给个采纳吧谢谢


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10075771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存