浅谈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 反射机制实现动态代理的代码
Oct 22 PHP
php下目前为目最全的CURL中文说明
Aug 01 PHP
ThinkPHP在新浪SAE平台的部署实例
Oct 31 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
Dec 15 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
Dec 14 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
php 输出json及显示json中的中文汉字详解及实例
Nov 09 PHP
PHP 实现从数据库导出到.csv文件方法
Jul 06 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
Django 标签筛选的实现代码(一对多、多对多)
Sep 05 PHP
PHP赋值的内部是如何跑的详解
Jan 13 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生成静态HTML文档的原理
2012/10/29 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
2008/12/25 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
python写的一个文本编辑器
2014/01/23 Python
Python中functools模块的常用函数解析
2016/06/30 Python
python实现画圆功能
2018/01/25 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
大学生党员自我剖析材料
2014/10/06 职场文书
三八妇女节标语
2014/10/09 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
数学备课组工作总结
2015/08/12 职场文书
mysql函数全面总结
2021/11/11 MySQL
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA