时间:2021-07-01 10:21:17 帮助过:9人阅读
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的数据库接口和技术就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。