必须有用户名和密码.
==============
$connect = mysql_connect("服务器IP","用户名","密码");
mysql_select_db($db);
===========
从你的描述来看,有点象购买的空间数据库.一般不允许远程连接.
把程序上传到空间里,改用以下边的连接.
$connect = mysql_connect("localhost","用户名","密码");
新增一个连接配置信息就可以了
①.站外绝路地址
前提是被链接的站点允许你IP的连接
常规方式
常规方式就是按部就班的读取文件了.其余的话和上述方案一致.
// 读取配置文件内容
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连接外网数据库相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!