浅谈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 08 PHP
一个简单的php加密解密函数(动态加密)
Jun 19 PHP
解析csv数据导入mysql的方法
Jul 01 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
Sep 23 PHP
php使用iconv中文截断问题的解决方法
Feb 11 PHP
PHP文件缓存smarty模板应用实例分析
Feb 26 PHP
Zend Framework前端控制器用法示例
Dec 11 PHP
php实现的简单中文验证码功能示例
Jan 03 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
php JWT在web端中的使用方法教程
Sep 06 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
七种PHP开发环境搭建工具
Jun 28 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 session处理的定制
2009/03/16 PHP
基于initPHP的框架介绍
2013/04/18 PHP
详解PHP数组赋值方法
2015/11/07 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
PHP批量修改文件名称的方法分析
2017/02/27 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
学习YUI.Ext 第四天--对话框Dialog的使用
2007/03/10 Javascript
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
PNG背景在不同浏览器下的应用
2009/06/22 Javascript
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
详解js中的原型,原型对象,原型链
2020/07/16 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
go语言计算两个时间的时间差方法
2015/03/13 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
python 爬虫如何正确的使用cookie
2020/10/27 Python
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
公证书格式
2015/01/23 职场文书
给病人的慰问信
2015/03/23 职场文书
教师节作文之小学四年级
2019/09/03 职场文书
Python字符串常规操作小结
2022/04/03 Python
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang