最近这个月过得确实有点狼狈。。。。不停地复习,看书。。终于到今天为止考完了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) ordie("连接失败".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