浅谈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的FTP学习(一)
Oct 09 PHP
使用Xdebug调试和优化PHP程序之[1]
Apr 17 PHP
PHP开发微信支付的代码分享
May 25 PHP
php中操作memcached缓存进行增删改查数据的实现代码
Aug 15 PHP
Yii2如何批量添加数据
May 17 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
php+Memcached实现简单留言板功能示例
Feb 15 PHP
Laravel实现autoload方法详解
May 07 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
Laravel学习教程之从入口到输出过程详解
Aug 27 PHP
PHP自动识别当前使用移动终端
May 21 PHP
Laravel5.1框架注册中间件的三种场景详解
Jul 09 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
DOMXML函数笔记
2006/10/09 PHP
多重?l件?合查?(一)
2006/10/09 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
PHP中的插件机制原理和实例
2014/07/08 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
2013/12/13 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
js表单登陆验证示例
2016/10/19 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
用pywin32实现windows模拟鼠标及键盘动作
2014/04/22 Python
Python格式化输出字符串方法小结【%与format】
2018/10/29 Python
python微信好友数据分析详解
2018/11/19 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
利用Python校准本地时间的方法教程
2019/10/31 Python
python实现连连看游戏
2020/02/14 Python
python开发前景如何
2020/06/11 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
JS原生实现轮播图的几种方法
2021/03/23 Javascript
物业招聘计划书
2014/01/10 职场文书
小学教师培训感言
2014/02/11 职场文书
我的中国梦演讲稿1000字
2014/08/19 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
迎国庆主题班会
2015/08/17 职场文书
2019年妇科护士的自我鉴定(3篇)
2019/09/26 职场文书