浅谈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 相关文章推荐
PHP英文字母大小写转换函数小结
May 03 PHP
PHP生成压缩文件实例
Feb 07 PHP
PHP Reflection API详解
May 12 PHP
php json中文编码为null的解决办法
Dec 14 PHP
简单实现PHP留言板功能
Dec 21 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP依赖注入原理与用法分析
Aug 21 PHP
PHP命名空间简单用法示例
Dec 28 PHP
php中访问修饰符的知识点总结
Jan 27 PHP
Laravel事件监听器用法实例分析
Mar 12 PHP
YII框架http缓存操作示例
Apr 29 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 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
一个多文件上传的例子(原创)
2006/10/09 PHP
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
php读取本地json文件的实例
2018/03/07 PHP
Jquery cookie操作代码
2010/03/14 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
jquery滚动特效集锦
2015/06/03 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
Prototype框架详解
2015/11/25 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
配置eslint规范项目代码风格
2019/03/11 Javascript
vue实现计算器功能
2020/02/22 Javascript
用Python输出一个杨辉三角的例子
2014/06/13 Python
python使用Tkinter显示网络图片的方法
2015/04/24 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
会话Bean的种类
2013/11/07 面试题
合作协议书范本
2014/04/17 职场文书
广播体操口号
2014/06/18 职场文书
个人简历自荐信
2014/06/26 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
现役军人家属慰问信
2015/03/24 职场文书
换届选举主持词
2015/07/03 职场文书
七年级上册生物的课件
2019/08/07 职场文书