程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 淺談PHP的數據庫接口和技術,淺談php數據庫

淺談PHP的數據庫接口和技術,淺談php數據庫

編輯:關於PHP編程

淺談PHP的數據庫接口和技術,淺談php數據庫


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的數據庫接口和技術就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持幫客之家。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved