您的当前位置:首页正文

php单例连接数据库

2023-11-10 来源:帮我找美食网

mysql_connect() 后续的php就不支持了,所以会报错。

现在改为使用mysqli_connect(),需要开启php扩展哟!

<?php/**

* 设计模式之单例模式

* $_instance必须声明为静态的私有变量

* 构造函数和析构函数必须声明为私有,防止外部程序new

* 类从而失去单例模式的意义

* getInstance()方法必须设置为公有的,必须调用此方法

* 以返回实例的一个引用

* ::操作符只能访问静态变量和静态函数

* new对象都会消耗内存

* 使用场景:最常用的地方是数据库连接。

* 使用单例模式生成一个对象后,

* 该对象可以被其它众多对象所使用。

*/class Danli{//保存类实例的静态成员变量private static $_instance = null;private $conn;//private标记的构造方法private function __construct(){//$conn = new mysqli(‘localhost‘, ‘root‘, ‘123‘, ‘php37‘);$this->conn = mysqli_connect(‘localhost‘, ‘root‘, ‘123‘, ‘php37‘);if (mysqli_connect_errno()) { printf("Connect failed: %s", mysqli_connect_error()); exit();}}//单例方法,用于访问实例的公共的静态方法public static function getInstance(){if(!self::$_instance instanceof self){self::$_instance = new self;}return self::$_instance;}//创建__clone方法防止对象被复制克隆private function __clone(){ }// 防止析构函数被调用// private function __destruct(){ }}//用new实例化private标记构造函数的类会报错//$danli = new Danli();//正确方法,用双冒号::操作符访问静态方法获取实例$danli=Danli::getInstance();var_dump($danli);//$danli->test();//复制(克隆)对象将导致一个E_USER_ERROR//$danli_clone=clone $danli;

 

工作没找到,天天帮朋友解决问题倒成了我的正式。要努力找工作,加油······

php单例连接数据库

标签:地方   host   常用   操作   errno   function   new   stat   努力   

小编还为您整理了以下内容,可能对您也有帮助:

php如何连接mysql数据库

1、首先在mysql数据库,创建一张data表,表内插入多条数据,用于测试。

2、创建一个test.php文件,在文件内,使用header()方法将页面的编码格式设置为utf-8。

3、然后在test.php文件内,连接mysql数据库,并使用mysqli_select_db选择要操作的数据库。

4、在test.php文件内,创建一条查询data数据表所有数据的sql语句,再使用mysqli_query执行sql语句。

5、在test.php文件内,通过while语句,使用mysqli_fetch_assoc函数将结果集数据转换为数组形式,并通过echo输出每一条记录的username值。

6、最后在浏览器打开test.php文件,查看结果,如下图所示就完成了。

php连接mssql数据库的几种方法_php实例

注意要重启服务使其生效。一、建立连接1、odbc首先,在php程序所在的服务器设置odbc。这里32位和64位操作系统有区别。32位的从控制面板中管理工具中的数据源(odbc)直接建立就可以了,64位的要运行C:WindowsSysWOW64odbcad32.exe从这里面设置。注意:上面只的是数据库服务器为32为的,数据源设置服务器为32位和64位两种的情况。只要两个服务器建立的数据源位数一致就好。下面是odbc建立连接代码。复制代码代码如下:$con = odbc_connect('odbc名称','用户名','密码');2、连接mssql2000复制代码代码如下:$con = mssql_connect('数据库地址','用户名','密码');3、连接mssql2008复制代码代码如下:$connectionInfo = array("UID"=用户名,"PWD"=密码,"Database"="数据库名称");$con = sqlsrv_connect( 数据库地址,$connectionInfo);二、输入查询代码这个都一样,可以直接写入,也可以从mssql中验证好后复制过来。简单点说就是把一个sql语句赋值给一个变量。类似下面代码复制代码代码如下:$query = "SELECT top 12 * 数据库名称 order by id desc";三、建立查询并取出数据1、odbc复制代码代码如下:$result = odbc_do($con,$query);while(odbc_fetch_row($result)){$变量名称 = odbc_result($result, "字段名称");}2、连接mssql2000复制代码代码如下:$result = mssql_query($con, $query);while($row =mssql_fetch_array($result)){$变量名称 = $row["字段名称"];}3、连接mssql2008复制代码代码如下:$result = sqlsrv_query($con, $query);while($row = sqlsrv_fetch_array($result)){$变量名称 = $row["字段名称"];}在php5.3及以后的版本中不附带sqlsrv库了。所以要从微软这里下载。四、关闭连接

PHP与数据库连接的方式有哪些?

1.最简单的方式

<?php$con = mysql_connect("localhost","root","");if (!$con) { die('Could not connect: ' . mysql_error()); }mysql_close($con);?>

2.面向对象mysqli(详细教程)

<?php$mysqli = new mysqli('localhost','root','','volunteer');if (mysqli_connect_errno()){die('Unable to connect!'). mysqli_connect_error();}?>

3.pdo连接mysql(详细教程)

<?php $db = new PDO('mysql:host=localhost;dbname=test', 'root', '');try {foreach ($db->query('select * from user') as $row){print_r($row);}$db = null; //关闭数据库} catch (PDOException $e) {echo $e->getMessage();}?>

4.ADODB连接mysql(详细教程)

<?phprequire_once './adodb5/adodb.inc.php';$conn = &ADONewConnection('mysql');$conn->connect('localhost','root','','test');$conn->Execute("set names utf8");$res = $conn->Execute("select * from user");if (!$res){echo $conn->ErrorMsg();}else{var_mp($res);}?>

php怎么连接Mysql数据库问题!

php链接mysql必备条件:

    已安装mysql数据库;

    检查php环境是否已开启mysql扩展(一般情况下是开启的);

     检查方法:a.使用phpinfo();函数,看有没有mysql项;b.打开php.ini文件,检查php_mysql.dll前分号是否已取掉。

    php链接代码如下:

    <?php

    //设置编码格式

    header("Content-type:text/html;charset=utf-8");

    //定义数据库主机地址

    $host="localhost";

    //定义mysql数据库登录用户名

    $user="root";

    //定义mysql数据库登录密码

    $pwd="";

    //链接数据库

    $conn = mysql_connect($host,$user,$pwd);

    //对连接进行判断

    if(!$conn){

        die("数据库连接失败!".mysql_errno());

    }else{

        

        echo "数据库连接成功!";

    }

    ?>

    运行结果:

Top