最近这个月过得确实有点狼狈。。。。不停地复习,看书。。终于到今天为止考完了2科了。能让我好好地写写博客了。。前段时间的PHP课设我多学了点东西,在我们一般老师讲的php连接数据库方面做了一些优化。前段时间发了第一个版本的,耦合度有点高。问了老师,我仿照着java的数据库连接的方式我也写了一个。。。比较基础的连接方式。
第一个是XML文件。。只需要修改这里面的对应的,DB_HOST,DB_USER,DB_PWD 即可。
<?xml version="1.0"
encoding="UTF-8"?>
<database>
<DB_HOST>localhost</DB_HOST>
<DB_USER>root</DB_USER>
<DB_PWD>root</DB_PWD>
<DB_NAME>php_car</DB_NAME>
</database>
这是主要控制连接的文件。。。
<?php
/**
* Created by PhpStorm.
* User: gjt
* Date: 2018/1/5
* Time: 11:07
*/
/**
* header 设置字符集
* define 常量,不可更改
*/
header("Content-Type:text/html;charset=utf-8");
$file ="DataBase.XML";
$con =file_get_contents($file);
/**
* XML文件标签
*/
$xmlTag =array(
"DB_HOST",
"DB_USER",
"DB_PWD",
"DB_NAME"
);
$arr =array();
/**
* 遍历标签
*/
foreach($xmlTagas
$x){
preg_match_all("/<".$x.">.*<\/".$x.">/",$con,
$temp);
$arr[]=
$temp[0];
}
$data =array();
foreach($arras
$key =>
$value) {
foreach($valueas
$k =>
$v) {
$a =
explode($xmlTag[$key].'>',$v);
$v =
substr($a[1],0,
strlen($a[1])-2);
$data[$k][$xmlTag[$key]]=
$v;
}
}
echo '<pre>';
/*print_r($data[0]);*/
define('DB_HOST',$data[0][$xmlTag[0]]);
define('DB_USER',$data[0][$xmlTag[1]]);
define('DB_PWD',$data[0][$xmlTag[2]]);
define('DB_NAME',$data[0][$xmlTag[3]]);//需要修改为自己的数据库名字
global $conn;
/**
* 连接mysql
*/
$conn =@mysqli_connect(DB_HOST,DB_USER,
DB_PWD) or
die("连接失败".
mysqli_error($conn));
/**
* 选择指定数据库,字符集
*/
mysqli_select_db($conn,DB_NAME)
ordie("数据库错误".
mysqli_error($conn));
echo "连接成功";
/*mysqli_query($conn, "SET NAMES UTF-8");*/
$file文件填写文件名字。创建的.xml文件的文件名字。
完成以上操作之后。。。
使用这句话。
require "config.php";
global $conn;
就可以建立数据库连接。。。
在此自己还可以再写一个文件,定义一些默认的方法。可以一定限度减少代码量。对于初学者有很大帮助。这是我在上这个课程的一些感受,如果有兴趣的可以深入研究,目前只支持了mysql的数据库连接。后面如果空闲下来,我会对这个进行重新设计,那时候应该会加上SQLserver的数据库连接。
至于BUG的问题,肯定是有的,毕竟这个不是PHP框架,我也不是专门做PHP开发的,当初写这个就是为了做作业的时候省一些力气,后来感觉,这个可以扩展,我才从最基础的数据库连接扩展到现在。有问题欢迎大家提出来,我会虚心采纳的。
这是代码:https://github.com/1163236754/PHPforDB