综合应用数据库知识和用面向对象编程技术在PHP程序中创建出学生类PHP使用面向对象的编程方式来编写数据库操作类
步骤1:创建一个PHP的页面“config.php”定义数据库相关的参数
?php// config.php
define(?DB_USER?, "username");
define(?DB_PASSWORD?, "password");
define(?DB_DATABASE?, "database name");
define(?DB_SERVER?, "ip address of database server");
?
第2步:创建一个PHP的类,用于连接数据库,命名为“db_connect.php”
?php// db_connnect.php
class DB_Connect {
private $con;
// constructor
function __construct() {
// connecting to database
$this-con = $this-connect();
}
//Function to connect with database
private function connect() {
// import database connection variables
require_once __DIR__.?/config.php?;
try {
$conn = new PDO(?mysql:host=?.DB_SERVER .?;
dbname=?.DB_DATABASE, DB_USER, DB_PASSWORD);
$conn-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo ?ERROR: ? . $e-getMessage();
}
return $conn;
}
public function getDbConnection(){
return $this-con;
}
}
?
第3步:创建一个类,它包含了所有的功能 , 为您实现SQL查询,命名为“db_functions.php”
调用里面的函数进行SQL查询、以促进可重用性和可维护性
?php// db_functions.php
class DB_Functions {
private $con;
// constructor
function __construct() {
require_once __DIR__.?/db_connect.php?;
// connecting to database
$db = new DB_Connect();
$this-con = $db-getDbConnection();
}
public function selectUser($id) {
try {
$stmt = $this-con-prepare(?SQL语句?);
$params = array(?:id? = $id);
$stmt-execute($params);
return $stmt;
} catch(PDOException $e) {
echo ?ERROR: ? . $e-getMessage();
}
}
public function otherSQLfunction($parameter) {
// other sql code
}
}
第4步:最后,在你其他的PHP文件里面只需要简单地调用“db_functions.php”的方法
?php
require_once __DIR__.?/db_functions.php?;
$db = new DB_Functions();
$result = $db-selectUser($id);
//other code
?
PHP mysql数据库问题1. mysql操作语句环境有两种,1种是函数形式的,如mysql_query,另一种是面向对象形式的如$mysqli = new Mysqli($host,$username,$pwd);,第二种所有操作都是以php 面向对象的形式操作mysql数据库的 。如mysqli-query('sql');等同于mysql_qeury('sql')
查看服务器是否开启mysqli扩展的方式可以通过?php echo phpinfo() ?看是否存在mysqli扩展
2.获取插入数据的id方法是mysql_insert_id($query);获取mysqli-insert_id;要获取插入数据id,id必须设置为自动增加模式(auto_increment).
$msyqli = new Mysqli($host,$user,$pwd);
$mysqli-select_db($dbname);
$mysqli-query('set names gbk');
$mysqli-query('insert into tb123(body)values("test")');
echo $mysql-insert_id;
$mysqli-close();
最后,请给点分数,奖励一下啊
PHP连接数据库的几种方法用ASP连接各种数据库的方法
一、ASP的对象存取数据库方法
在ASP中,用来存取数据库的对象统称ADO(Active Data Objects),主要含有三种对象:Connection、Recordset 、Command
Connection:负责打开或连接数据
Recordset:负责存取数据表
Command:负责对数据库执行行动查询命令
二、连接各数据库的驱动程序
连接各数据库可以使用驱动程序,也可以使用数据源 , 不过php数据库对象我建议大家使用驱动程序,因为使用驱动程序非常方便、简单,而使用数据源比较麻烦 。
ODBC链接
适合数据库类型 链接方式
access "Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;"
dBase "Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
Oracle "Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
MSSQL server "Driver={sql server};server=servername;database=dbname;uid=sa;pwd=pass;"
MS text "Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
Visual Foxpro "Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"
OLEDB链接
适合的数据库类型 链接方式
access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin;password=pass;"
Oracle "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
MS SQL Server "Provider=SQLOLEDB;data source=machinename;initial catalog=dbname;userid=sa;password=pass;"
MS text "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties′text;FMT=Delimited′"
而php数据库对象我们在一般情况下使用Access的数据库比较多,在这里我建议大家连接Access数据库使用下面的方法:
dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;""data source = "server.mappath("../db/bbs.mdb")
其中../db/bbs.mdb是你的数据库存放的相对路径php数据库对象!如果你的数据库和ASP文件在同一目录下,你只要这样写就可以了:
dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;""data source = "server.mappath("bbs.mdb")
有许多初学者在遇到数据库连接时总是会出问题,然而使用上面的驱动程序只要你的数据库路径选对了就不会出问题了 。
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 );
}
【php数据库对象 php中数据库怎么设计】}/**
* 从数据库连接池中获取一个数据库链接资源
*
* @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 );
}
}
}
关于php数据库对象和php中数据库怎么设计的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 游戏网络股吧,游戏网站股票
- oracle的表关联查询语句怎么写,oracle数据库关联查询语句
- 个人如何做电商平台开店,个人如何做电商平台开店
- wps如何转换为pdf文件,wps如何转换为pdf格式
- mysql图片怎么存放 mysql如何存放图片
- 微信营销ios软件哪个好,微信营销软件有哪些,哪个好用?
- 小型单机手机冒险游戏,单机冒险类游戏手机版
- 街区飞行器游戏,街机 你所不知道的海量街机经典飞行类街机游戏汇总
- 老男孩go语言第一期 老男孩go语言百度云