$mysql_host="localhost";?地址
$mysql_user="root";??用户名
$mysql_database="001online";?数据库名
$conn=mysql_connect("$mysql_host","$mysql_user","$mysql_password");
if(!$conn){?die("连接数据库失败:"?.?mysql_error());}
mysql_select_db("$mysql_database",$conn);
php链接mysql必备条件:
已安装mysql数据库;
检查php环境是否已开启mysql扩展(一般情况下是开启的);
检查方法:a.使用phpinfo();函数,看有没有mysql项;b.打开php.ini文件,检查php_mysql.dll前分号是否已取掉.
php链接代码如下:
php
//设置编码格式
//定义数据库主机地址
$host="localhost";
//定义mysql数据库登录用户名
$user="root";
//定义mysql数据库登录密码
$pwd="";
//链接数据库
$conn = mysql_connect($host,$user,$pwd);
//对连接进行判断
if(!$conn){
die("数据库连接失败!".mysql_errno());
}else{
echo "数据库连接成功!";
}
常规方式
常规方式就是按部就班的读取文件了.其余的话和上述方案一致.
// 读取配置文件内容
PHP解析XML
上述两种读取文件,其实都是为了PHP解析XML来做准备的.关于PHP解析XML的方式的博客有很多.方式也有很多,像simplexml,XMLReader,DOM啦等等.但是对于比较小型的xml配置文件,simplexml就足够了.
配置文件
!-- 为防止出现意外,请按照此标准顺序书写.其实也无所谓了 --
hostlocalhost/host
userroot/user
dbtest/db
解析
php/**
* 作为解析XML配置文件必备工具
*/class XMLUtil {
public static $dbconfigpath = "./db.config.xml"; ? ?public static function getDBConfiguration() {
$dbconfig = array (); ? ? ? ?try { ? ? ? ? ? ?// 读取配置文件内容
$handle = fopen(self::$dbconfigpath, "r"); ? ? ? ? ? ?$content = fread($handle, filesize(self::$dbconfigpath)); ? ? ? ? ? ?// 获取xml文档根节点,进而获取相关的数据库信息
$mysql = simplexml_load_string($content); ? ? ? ? ? ?// 将获取到的xml节点信息赋值给关联数组,方便此时此刻呢的方法调用
$dbconfig['host'] = $mysql-host; ? ? ? ? ? ?$dbconfig['user'] = $mysql-user; ? ? ? ? ? ?$dbconfig['password'] = $mysql-password; ? ? ? ? ? ?$dbconfig['db'] = $mysql-db; ? ? ? ? ? ?$dbconfig['port'] = $mysql-port; ? ? ? ? ? ?// 将配置信息以关联数组的形式返回
return $dbconfig;
} catch ( Exception $e ) { ? ? ? ? ? ?throw new RuntimeException ( "mark读取数据库配置文件信息出错!/markbr /" );
} ? ? ? ?return $dbconfig;
数据库连接池
对于PHP程序而言,优化永无止境.而数据库连接池就在一定程度上起到了优化的作用.其使得对用户的每一个请求而言,无需每次都像数据库申请链接资源.而是通过已存在的数据库连接池中的链接来返回,从时间上,效率上,都是一个大大的提升.
于是,这里简单的模拟了一下数据库连接池的实现.核心在于维护一个"池".
从池子中取,用毕,归还给池子.
php/**x
* ?PHP中的数据库 工具类设计
* ?郭璞
*
}else {
require './utils.php';
} ? ? ? ?// 初始化 配置文件信息
$this-dbconfig = XMLUtil::getDBConfiguration (); ? ? ? ?// 准备好数据库连接池"伪队列"
$this-poolsize = $poolsize;
$this-dbpool = array (); ? ? ? ?for($index = 1; $index = $this-poolsize; $index ++) {
$conn = mysqli_connect ( $this-dbconfig ['host'], $this-dbconfig ['user'], $this-dbconfig ['password'], $this-dbconfig ['db'] ) or die ( "mark连接数据库失败!/markbr /" );
array_push ( $this-dbpool, $conn );
} ? ?/**
* 从数据库连接池中获取一个数据库链接资源
* @throws ErrorException
* @return mixed
*/
public function getConn() { ? ? ? ?if (count ( $this-dbpool ) = 0) { ? ? ? ? ? ?throw new ErrorException ( "mark数据库连接池中已无链接资源,请稍后重试!/mark" );
} else { ? ? ? ? ? ?return array_pop ( $this-dbpool );
* 将用完的数据库链接资源放回到数据库连接池
* @param unknown $conn
public function release($conn) { ? ? ? ?if (count ( $this-dbpool ) = $this-poolsize) { ? ? ? ? ? ?throw new ErrorException ( "mark数据库连接池已满/markbr /" );
} else {
本文实例讲述了PHP利用pdo_odbc实现连接数据库.分享给大家供大家参考,具体如下:
目的:从sql
server数据库里面把某个视图文件调用出来,以键值对的方式显示在页面上.
利用pdo
odbc来实现PHP连接数据库:
在PHP配置文件里面开启pdo_odbc.dll服务.重启Apache服务器.
代码如下:
return
[
//
数据库类型
'type'
=
'sqlsrv',
服务器地址
'hostname'
'localhost',
数据库名
'database'
'mysql',
用户名
'username'
'sa',
密码
'password'
端口
'hostport'
'',
连接dsn
'dsn'
'odbc:Driver={SQL
Server};Server=localhost;Database=mysql',
数据库连接参数
'params'
[],
'charset'
数据库表前缀
'prefix'
数据库调试模式
'debug'
true,
数据库部署方式:0
集中式(单一服务器),1
分布式(主从服务器)
'deploy'
0,
数据库读写是否分离
主从式有效
'rw_separate'
false,
读写分离后
主服务器数量
'master_num'
指定从服务器序号
'slave_no'
是否严格检查字段是否存在
'fields_strict'
数据集返回类型
'resultset_type'
'array',
自动写入时间戳字段
'auto_timestamp'
时间字段取出后的默认时间格式
'datetime_format'
'Y-m-d
H:i:s',
是否需要进行SQL性能分析
'sql_explain'
Builder类
'builder'
Query类
'query'
'\\think\\db\\Query',
是否需要断线重连
'break_reconnect'
断线标识字符串
'break_match_str'
];
在控制器controller里面建一个控制文件Test.php
namespace
app\index\controller;
use
think\Db;
think\Controller;
class
Test
extends
Controller
{
public
function
zz(){
echo
json_encode($data);
最后调用入口文件即可访问.
我的效果:
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:< FrameWork框架入门教程>>及< 希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助. 以上就是土嘎嘎小编为大家整理的php构造实现数据库连接相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!