浅谈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(8) php 数组
Mar 05 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
Jun 09 PHP
浅析is_writable的php实现
Jun 18 PHP
解析php类的注册与自动加载
Jul 05 PHP
php强制更新图片缓存的方法
Feb 11 PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
Jan 12 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
Mar 16 PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 PHP
laravel接管Dingo-api和默认的错误处理方式
Oct 25 PHP
laravel返回统一格式错误码问题
Nov 04 PHP
phpQuery采集网页实现代码实例
Apr 02 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
德生PL550的电路分析
2021/03/02 无线电
php 编写安全的代码时容易犯的错误小结
2010/05/20 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
dul无法加载bootstrap实现unload table/user恢复
2016/09/29 Javascript
原生js实现新闻列表展开/收起全文功能
2017/01/20 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
2017/11/11 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
python中定义结构体的方法
2013/03/04 Python
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
如何在 Django 模板中输出 &quot;{{&quot;
2020/01/24 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
使用HTML5做的导航条详细步骤
2020/10/19 HTML / CSS
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
乡镇干部先进事迹材料
2014/02/03 职场文书
《画家乡》教学反思
2014/04/22 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
感恩教育月活动总结
2014/07/07 职场文书
招标授权委托书样本
2014/09/23 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
计划生育诚信协议书
2014/11/02 职场文书
团代会闭幕词
2015/01/28 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
Python道路车道线检测的实现
2021/06/27 Python
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript