
正文
php连接云数据库 php数据库连接失败的原因
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP网站怎么连接到数据库?
常规方式
常规方式就是按部就班的读取文件了。其余的话和上述方案一致。
// 读取配置文件内容
$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
!-- 为防止出现意外,请按照此标准顺序书写.其实也无所谓了 --
hostlocalhost/host
userroot/user
password123456/password
dbtest/db
port3306/port/mysql12345678910
解析
?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;
}
}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 ( "markutils.php文件丢失,无法进行配置文件的初始化操作!/markbr /" );
}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
* @throws ErrorException
*/
public function release($conn) { if (count ( $this-dbpool ) = $this-poolsize) { throw new ErrorException ( "mark数据库连接池已满/markbr /" );
} else {
array_push ( $this-dbpool, $conn );
}
}
}
相关问答
Q1: PHp如何连接数据库?
PHP链接数据库有几种方式
mysqli:
?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn-connect_error) {
die("连接失败: " . $conn-connect_error);
}
echo "连接成功";
?
也可以使用PDO进行链接,前提是你必须在php.ini中开启PDO:
?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
echo "连接成功";
}
catch(PDOException $e)
{
echo $e-getMessage();
}
?
建议使用PDO,功能更加强大,兼容各种数据库
Q2: PHP如何配置TP框架,连接腾讯云云数据库
需要php连接云数据库你在阿里云选择一款服务器配置php连接云数据库,然后用第三方一键php包php连接云数据库的配置php连接云数据库,服务器配置出可视化php环境界面,上传程序,安装网站,添加内容。
下载TP5完整版(初学者学习用php连接云数据库的)
解压到本地的开发环境中,默认的入口文件是public,访问public会看到TP5成功页面。
开发一个项目的时候,通常分为前台和后台,前台一般放在index模块中,后台一般放在admin模块中。所以你想链接数据库,就去 admin文件夹修改 database.php 连接数据库时候读取的文件,就可以了。
TP框架都这么操作出来的,这是个思路,因为这方面内容较多,这里也写不开那么多内容,在这留言或到咱们的blog找相关内容,可以帮助入门。
Q3: 新浪云数据库Php连接
我看你这个是不知道连接参数的意思吧?
define('DB_HOST', 'localhost');
define('DB_USER', 'root'); //数据账号
define('DB_PWD', 'root'); //密码
define('DB_NAME', 'demo'); //数据库名称
DB_HOST 就是数据库服务器IP:这个就是你新浪云数据库的IP;
DB_USER 这个就是你新浪云数据库的数据库用户名;
DB_PWD 这个就是你新浪云数据库的数据库用户密码;
DB_NAME:这个就是你新浪云数据库的数据库名;
如果是数据库迁移,那么你要把目前的数据库迁移到新浪云上边,建立同样的数据库,数据表;
如果数据在新浪云上已经有了,你这边只需要改了这个配置为新浪云给你的连接信息就可以了;
如果你新浪云上没有布置环境,那么你要在新浪云上安装mysql,以及配置对应数据库IP的开放端口及权限;
Q4: 我在新浪云平台上安装一个PHP网站,怎么连接平台的数据库名和数据库密码呢
服务器地址: getenv('HTTP_BAE_ENV_ADDR_SQL_IP'),
连接端口: getenv('HTTP_BAE_ENV_ADDR_SQL_PORT'),
用户名: getenv('HTTP_BAE_ENV_AK'),
密码: getenv('HTTP_BAE_ENV_SK'),
用php连接时,用上面几个变量名就可以了,你也可以登录开发者平台,在你的应用那里,服务管理下面的“MySQL(云数据库)”那里可以登录web管理你的数据库,用别管理工具好像不行,详情可以百度一下我的博客:庞艺光博客,我的也挂到上面去了。
Q5: hdphp框架怎么连接新浪云数据库
使用新浪SAE架构搭建自己的网站。将自己在本地编写的PHP程序上传到SAE上。如果要正常使用需要链接MySQL数据库(如果你的网站使用了MySQL数据库服务)。
新浪SAE提供了对PHP访问MySQL的程序支持。所以这个过程要实现起来并不困难。只需要修改用户名和密码。
创建完应用后,MySQL数据库仍然是不可用的。首先要点击右侧列表的MySQL(如下图红圈处)进行初始化。初始化完成后可以访问mysql,否则连接数据库则会出现 mysql_connect() 的 access deny 的错误。
接下来,看下代码是如何修改的。
1、本地访问的代码
?php
$con =
mysql_connect("localhost","root","123"); if(!$con) //判断是否链接成功 {
die('could not connect:'.mysql_error()); }
mysql_select_db("weibo",$con); //选择名称为“weibo”的database
?
//mysql_connect() 连接数据库函数
关于php连接云数据库和php数据库连接失败的原因的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







