浅谈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 文章中的远程图片采集到本地的代码
Jul 30 PHP
php cookie使用方法学习笔记分享
Nov 07 PHP
php实现水仙花数示例分享
Apr 03 PHP
PHP生成树的方法
Jul 28 PHP
PHP开发制作一个简单的活动日程表Calendar
Jun 20 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
Mar 14 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
PHP根据key删除数组中指定的元素
Feb 28 PHP
php xhprof使用实例详解
Apr 15 PHP
PHP正则表达式笔记与实例详解
May 09 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
Sep 16 PHP
TP5框架实现的数据库备份功能示例
Apr 05 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注入实例
2006/10/09 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
2010/05/26 PHP
用PHP+MySQL搭建聊天室功能实例代码
2012/08/20 PHP
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
js 自带的sort() 方法全面了解
2016/08/16 Javascript
JS简单实现表格排序功能示例
2016/12/20 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
vue-cli 打包使用history模式的后端配置实例
2018/09/20 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
vue实现lodop打印功能的示例
2020/11/11 Javascript
python多线程抓取天涯帖子内容示例
2014/04/03 Python
python操作gmail实例
2015/01/14 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
tensorflow识别自己手写数字
2018/03/14 Python
python搜索包的路径的实现方法
2019/07/19 Python
Django实现跨域请求过程详解
2019/07/25 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
《两只鸟蛋》教学反思
2014/02/10 职场文书
银行竞聘演讲稿范文
2014/04/23 职场文书
党支部三会一课计划
2014/09/24 职场文书
离婚协议书范本
2015/01/26 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
单位同意报考证明
2015/06/17 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书