浅谈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 相关文章推荐
介绍几个array库的新函数 php
Dec 29 PHP
开源SNS系统-ThinkSNS
May 18 PHP
PHP6 mysql连接方式说明
Feb 09 PHP
PHP学习之字符串比较和查找
Apr 17 PHP
PHP闭包(Closure)使用详解
May 02 PHP
php使用百度翻译api示例分享
Jan 31 PHP
PHP中的日期加减方法示例
Aug 21 PHP
php的常量和变量实例详解
Jun 27 PHP
PHP mysqli事务操作常用方法分析
Jul 22 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
Feb 25 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
Apr 16 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框架Laravel的小技巧两则
2015/02/10 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
javascript 自动转到命名锚记
2009/01/10 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
js转义字符介绍
2013/11/05 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
Python之文字转图片方法
2018/05/10 Python
使用python实现语音文件的特征提取方法
2019/01/09 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
测试工程师职业规划书
2014/02/06 职场文书
消防宣传口号
2014/06/16 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
材料员岗位职责范本
2015/04/11 职场文书
机关工会工作总结2015
2015/05/26 职场文书
建国大业观后感
2015/06/01 职场文书
预备党员考察意见范文
2015/06/01 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
python 网络编程要点总结
2021/06/18 Python
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android