浅谈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
我的论坛源代码(七)
Oct 09 PHP
PHP的单引号和双引号 字符串效率
May 27 PHP
php对数组排序代码分享
Feb 24 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
Jul 10 PHP
PHP给文字内容中的关键字进行套红处理
Apr 12 PHP
Zend Framework入门教程之Zend_Session会话操作详解
Dec 08 PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 PHP
django中的ajax组件教程详解
Oct 18 PHP
PHP fprintf()函数用法讲解
Feb 16 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
Oct 24 PHP
PHP扩展类型及安装方式解析
Apr 27 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
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
php微信开发之图片回复功能
2018/06/14 PHP
PHP array_shift()用法实例分析
2019/01/07 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
jquery CSS选择器笔记
2010/03/29 Javascript
yepnope.js 异步加载资源文件
2011/09/08 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
javascript简单比较日期大小的方法
2016/01/05 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
理解javascript正则表达式
2016/03/08 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
浅谈Javascript中的12种DOM节点类型
2016/08/19 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
vue 全局封装loading加载教程(全局监听)
2020/11/05 Javascript
python实现问号表达式(?)的方法
2013/11/27 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
python生成九宫格图片
2018/11/19 Python
Python使用get_text()方法从大段html中提取文本的实例
2019/08/27 Python
HTML5 Canvas 实现K线图的示例代码
2019/12/23 HTML / CSS
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
nohup的用法
2014/08/10 面试题
2015元旦标语横幅
2014/12/09 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
刑事法律意见书
2015/06/04 职场文书
Mysql数据库命令大全
2021/05/26 MySQL
Golang bufio详细讲解
2022/04/21 Golang
Python3使用Qt5来实现简易的五子棋小游戏
2022/05/02 Python