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常用操作数组的函数
变量和数组的转换
compact() 将变量整合成数组
extract() 将数组中的每个值以键的名分解成变量
变量和字符串转换
explode() 以某个子串分解字符串成数组
implode() 将一维数组根据某个符号拼接成字符串
数组与数组之间关系
array_merge() 合并/并集
array_diff() 差集
array_intersect() 交集
数组值的操作
array_pop() 删除(弹出)数组最后一个值
array_push() 向数组中追加一个值
判断数组是否存在数组中
in_array() 判断一个值是否存在数组中
array_key_exists() 判断键是否存在数组中
数组去重
array_unique() 数组去重
获取二维数组中的值的集合
array_column() 获取二维数组中的值的集合
提取数组的键与值
array_values 提取数组的值构成一维数组
array_keys 提取数组的键构成一维数组
返回数组中的随机的键
array_rand() 返回数组中的随机的键
返回数组中值的数量
count() 返回数组中值的和
查询数组中的值
array_search() 查询数组中的值是否存在/in_array()有点相似
排序
sort() 排序有很多种,按键或值升降序
array_multisort() 多维数组排序
分割数组
array_chunk()
数据库常用的数据模型有层次模型、网状模型、关系模型三种。
1、层次模型
层次模型是数据库系统最早使用的一种模型,它的数据结构Q是一棵"有向树"。根结点在最上端,层次最高,子结点在下,逐层排列。层次模型的特征是:有且只有一个根结点;其他结点有且仅有一个父结点网状模型。
2、网状模型
以网状结构表示实体与实体之间的联系。网中的每一个结点代表一个记录类型,联系用链接指针来实现。网状模型可以表示多个从属关系的联系,也可以表示数据间的交叉关系,即数据间的横向关系与纵向关系,它是层次模型的扩展。网状模型可以方便地表示各种类型的联系,但结构复杂,实现的算法难以规范化。其特征是:允许结点有多于一个父结点;可以有一个以上的结点没有父结点。
3、关系模型
关系模型以二维表结构来表示实体与实体之间的联系,它是以关系数学理论为基础的。关系模型的数据结构是一个“二维表框架"组成的集合。每个二维表又可称为关系。在关系模型中,操作的对象和结果都是二维表。关系模型是目前最流行的数据库模型。支持关系模型的数据库管理系统称为关系数据库管理系统,Access就是一种关系数据库管理系统。
描述的—致性,不仅用关系描述实体本身,而且也用关系描述实体之间的联系;可直接表示多对多的联系。关系必须是规范化的关系,即每个属性是不可分的数据项,不许表中有表。关系模型是建立在数学概念基础上的,有较强的理论依据。
两大类数据模型:数据模型分为2类(分属2个不同的层次,在开发和使用数据库中使用不同的模型)。
概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
逻辑模型和物理模型,逻辑模型主要包括:网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。
物理模型,是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
概念模型:信息世界中的基本概念。
用途:数据库设计人员和用户之间进行交流的语言。但要考E-R图!
最常用的数据模型:非关系模型,有层次模型和网状模型;关系模型;面向对象模型、对象关系模型。