常规方式
常规方式就是按部就班的读取文件了。其余的话和上述方案一致。
// 读取配置文件内容
$handle = fopen("filepath", "r") $content = fread($handle, filesize("filepath"))123
PHP解析XML
上述两种读取文件,其实都是为了PHP解析XML来做准备的。关于PHP解析XML的方式的博客有很多。方式也有很多,像simplexml,XMLReader,DOM啦等等。但是对于比较小型的xml配置文件,simplexml就足够了。
配置文件
<?xml version="1.0" encoding="UTF-8" ?><mysql>
<!-- 为防止出现意外,请按照此标准顺序书写.其实也无所谓了 -->
<host>localhost</host>
<user>root</user>
<password>123456</password>
<db>test</db>
<port>3306</port></mysql>12345678910
解析
<?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>读取数据库配置文件信息出错!</mark><br />" )
} return $dbconfig
}
}1234567891011121314151617181920212223242526272829
数据库连接池
对于PHP程序而言,优化永无止境。而数据库连接池就在一定程度上起到了优化的作用。其使得对用户的每一个请求而言,无需每次都像数据库申请链接资源。而是通过已存在的数据库连接池中的链接来返回,从时间上,效率上,都是一个大大的提升。
于是,这里简单的模拟了一下数据库连接池的实现。核心在于维护一个“池”。
从池子中取,用毕,归还给池子。
<?php/**x
* PHP中的数据库 工具类设计
* 郭璞
* 2016年12月23日
*
**/class DbHelper { private $dbconfig private $dbpool public $poolsize public function __construct($poolsize = 20) { if (! file_exists ( "./utils.php" )) { throw new RuntimeException ( "<mark>utils.php文件丢失,无法进行配置文件的初始化 *** 作!</mark><br />" )
}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>连接数据库失败!</mark><br />" )
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
* @throws ErrorException
*/
public function release($conn) { if (count ( $this->dbpool ) >= $this->poolsize) { throw new ErrorException ( "<mark>数据库连接池已满</mark><br />" )
} else {
array_push ( $this->dbpool, $conn )
}
}
}
通常php网站是使用php+mysql架构的。这样在网站中是无法直接找到数据库的。只能找到链接数据库的配置信息。主机、端口、数据库名、用户名、密码等。
然后可以根据找到的信息,可以使用第三方的工具进行连接
MS SQL主数据库服务器在哪里打开05之前有服务管理器,点开始→所有程序→MS SQL SERVER→服务管理器
05以后就没有服务管理器了,都集成在MANAGEMENT STUDIO里了,直接打开MANAGEMENT STUDIO就行。
MSSQLSERVER服务为MSSQL的主数据库服务:
右键我的电脑→管理工具→服务→启动MSSQLSERVER
SQL数据库在哪可以打开?我想改里面的数据!不知道怎么查找,运行它!急!
客户端管理软件啊,你啥版本啊
怎么打开database文件
需要知道是哪种数据库格式,一般看后缀就能看出来。要是mdf之类的,只能挂接到sybase或者sqlserver上看了,要是dbase或者VF的dbf,倒是可以用access甚至记事本打开,而且记事本也可以保存。要是oracle的dbf数据文件,那么可以用第三方工具打开,或者挂接到oracle中。 ldf不是数据库文件,是sqlserver的日志文件,无法用记事本之类的直接查看。可以通过ldf和一个空数据库文件进行数据的完整恢复。不过如果有了一个数据库mdf的话,那么挂接的时候ldf需要删除掉才可以。
手动添加数据库时候要打开企业管理器在哪里呀?
说明得很清楚啊!、
你那里不明白呢?
补充:你用的是sql多少啊?sql7。0是没有管理器的。2000以上才有。打开【开始】。microsoft sql。里面有【企业管理器。】
PHP网站mysql数据库怎么找啊?在哪里,下载到本地怎么打开看里面的内容呢?
MYSQL数据库不象Access的文件数据库可以下载数据库文件,如果要下载MYSQL数据文件
则要用工具对数据库进行导出成.sql文件,使用时再导入
一般使用的工具是 phpMyAdmin
phpMyAdmin其实是一个php网站系统,其功能是导出,导入主机上的MYSQL数据库
热血传奇---数据库文件在哪里,用什么查看?
是在M2里,第2个选项里就可以选择。
望采纳。
access数据库怎么打开?
是这样的。因为从你的话里知道你的电脑里从来都没有数据库。所以你要打开数据库是不可能的。只有在office的access文件中新建数据库。
mysql数据库的存放位置在哪里
win7对m功sql的安装路径,做了改变,data在一个隐藏文件中,路径是这样的
C:\ProgramData\MySQL\MySQL Server 5.5\data
就是program Files 旁边,有个隐藏的文件叫ProgramData
打开隐藏文件查看的方式为:左上角的组织 -- 文件夹搜索选项-- 查看 --隐藏文件和文件夹 这边设置改下,
采纳下我哦,谢谢
sql数据库文件存放在哪? 5分
select filename from master.dbo.sysdatabases where name = '数据库名'
会显示出你的mdf文件存储路径
如何找到统计软件的数据库在哪里 30分
不需要安装软件,只要下载对应的jar包就行了。
例如如果是连SqlServer2000或者SqlServer2005,看这个,
是MySQL可以到 上下载jar包
下面是连MySQL的测试代码:
import java.sql.*
public class TestMysqlConnection {
/**
* jdbc连接到MySQL的测试
* @param args
*/
public static void main(String[] args) {
/*
* test是系统自带的,是空的
*/
Connection conn = null
Statement stmt = null
ResultSet rs = null
try {
1.注册驱动
Class.forName(".mysql.jdbc.Driver")
2.建立连接
conn = DriverManager
.getConnection("jdbc:mysql:localhost:3306/testuser=root&password=root")
3.创建语句
stmt = conn.createStatement()
4.执行语句
rs = stmt.executeQuery("select * from user")
5.处理结果
while (rs.next()) {
参数中的2,3,4是指sql中的列索引
System.out.println(rs.getInt("id") + "\t" + rs.getString(2)+ "\t"+
rs.getDate(3) + "\t" + rs.getFloat(4))
}
} catch (ClassNotFoundException e) {
e.printStackTrace()
} catch (SQLException ex) {
handle any errors
System.out.println("SQLException: " + ex.getMessage())
System.out.println("SQLState: " + ex.getSQLState())
System.out.println("VendorError: " + ex.getErrorCode())
} finally {
6.释放资源
try {
if(rs != null) {
rs.close()
rs = null
}
if(stmt != null) {
stmt.close()
......>>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)