浅谈PHP的数据库接口和技术


Posted in PHP onDecember 09, 2016

1、php支持哪些数据库(拥有哪些数据库接口)

Adabas D ,InterBase ,PostgreSQL ,dBase ,FrontBase ,SQLite ,Empress ,mSQL ,Solid ,FilePro(只读),Direct MS-SQL ,Sybase ,Hyperwave ,MySQL ,Velocis ,IBM DB2 ,ODBC ,Unix dbm ,informix ,Oracle(OCI7 和 OCI8),Ingres ,Ovrimos

以上数据库都支持,简言之,支持绝大多数主流数据库

2、php原生操作mysql数据库方法

<?php
//数据库操作
//1.导入数据库
require("../../public/dbconfig.php");
//2.连接数据库
$link=mysql_connect(HOST,USER,PASS) or die("数据库连接失败");
//3.选择数据库,设置字符集
mysql_select_db(DBNAME,$link);
mysql_set_charset("utf8");
//4.编写sql语句,发送sql语句到数据库
$sql="select * from users";
$res=mysql_query($sql,$link);
//5.解析结果集
while($user=mysql_fetch_assoc($res)){
echo "<tr align='center'>";
echo "<td>{$userstate[$user['state']]}</td>";
echo "<td>{$user['username']}</td>";
echo "<td>".date("Y-m-d",$user['addtime'])."</td>";
echo "<td>
<a href='edit.php?id={$user['id']}'>修改</a> 
<a href='action.php?a=del&id={$user['id']}'>删除</a>
</td>";
echo "</tr>";
}
mysql_free_result($res);
mysql_close($link);
?>

3、php的PDO概念

PDO即PHP数据对象,将数据作为对象来操作,提高了操作数据的安全性和便捷性,从PHP5.1版本开始支持,例如预处理语句(prepared statements)、绑定参数(bound parameters)、可滚动游标(scrollable cursors)、定位更新(positioned updates)以及 LOB。

DAO(Data Access Object) 数据访问对象是一个面向对象(PDO)的数据库接口,在很多PHP框架中通过对原生的PDO封装形成安全便捷的数据处理接口方法,下例为YII中的DAO方法:

http://www.yii-china.com/doc/guide/db_dao.html

<?php>
//在advanced\common\config\main-local.php的conponents中配置好db;
//连接数据库
$connection = Yii::$app->db;
//编写预处理查询语句
$command = $connection->createCommand('SELECT * FROM post');
//执行操作
$posts = $command->queryAll();
$post = $command->queryOne();
$titles = $command->queryColumn();
<?php>

4、活动记录Active Record

ActiveRecord是一种设计模式,他的直接目的不是为了操作数据库的,而是一种数据模型,相对于DAO是数据的更高级抽象。它提供了一个面向对象的统一接口,

用以访问数据库中的数据。

使用AR更大的简化代码,减少了出错的可能,下例是YII中的AR操作方法

//数据表customer对象实例化
$customer = new Customer();
$customer->name = 'Qiang';
$customer->save(); // 一行新数据插入 customer 表

5、什么情况下使用DAO或AR了

复杂业务逻辑使用DOA, 反之用AR

以上这篇浅谈PHP的数据库接口和技术就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
文件上传的实现
Oct 09 PHP
PHP中的日期及时间
Nov 23 PHP
php empty函数 使用说明
Aug 10 PHP
php计算当前程序执行时间示例
Apr 24 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
Jun 23 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
Nov 16 PHP
php自定义截取中文字符串-utf8版
Feb 27 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
php+ajax实现商品对比功能示例
Apr 13 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 PHP
magento后台无法登录解决办法的两种方法
Dec 09 #PHP
Zend Framework常用校验器详解
Dec 09 #PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 #PHP
Zend Framework入门教程之Zend_Session会话操作详解
Dec 08 #PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 #PHP
Zend Framework入门教程之Zend_Db数据库操作详解
Dec 08 #PHP
zend框架实现支持sql server的操作方法
Dec 08 #PHP
You might like
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
php mysql索引问题
2008/06/07 PHP
Thinkphp5结合layer弹窗定制操作结果页面
2017/07/07 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
PHP 文件上传限制问题
2019/09/01 PHP
JS之小练习代码
2008/10/12 Javascript
javascript radio 联动效果
2009/03/04 Javascript
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
禁用backspace网页回退功能的实现代码
2016/11/15 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
2017/01/04 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
详解Vue.js 响应接口
2020/07/04 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
用Python一键搭建Http服务器的方法
2018/06/01 Python
python3 深浅copy对比详解
2019/08/12 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
2020/05/16 Python
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
美国和加拿大计算机和电子产品购物网站:TigerDirect.com
2019/09/13 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
学校安全检查制度
2014/01/27 职场文书
运动会解说词200字
2014/02/06 职场文书
40岁生日感言
2014/02/15 职场文书
委托书模板
2014/04/04 职场文书
优秀大学生自荐信
2014/06/09 职场文书
2015年高中班主任工作总结
2015/04/30 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL