摘 要:PHP是開發動態網站使用較多的腳本語言,支持多種數據庫系統,與流行的開源數據庫MySQL能實現完美結合。PDO是PHP數據對象,主要用于PHP連接數據庫,PDO是數據抽象層,可以讓程序員更加簡便地使用數據庫,提高工作效率,是PHP處理數據庫的發展趨勢。本文主要闡述PHP使用PDO處理數據庫的方法,包括對數據庫表進行基本的記錄添加、刪除、修改和查詢。讀者通過本文給出的相應的可運行代碼,可以快速建立自己代碼庫,提高開發效率。
關鍵詞:PHP;PDO;數據庫
中圖分類號:TP311.1 文獻標識碼:A 文章編號:2096-4706(2019)03-0020-02
Brief Description of Using PDO in PHP
LEI Wei
(Dalian Technician Institute,Dalian 116100,China)
Abstract:PHP is a scripting language used to develop dynamic websites. It supports a variety of database systems. It is a perfect combination with MySQL which is a popular open source database. PDO is a PHP data object,which is mainly used to connect database with PHP. PDO is a data abstraction layer. It can make programmers use database more easily and improve work efficiency. It is the development trend of PHP database processing. This paper mainly elaborates the method of using PDO to process database in PHP,including adding,deleting,modifying and querying basic records of database tables. Readers can quickly build their own code base and improve the development efficiency through the corresponding runnable code given in this paper.
Keywords:PHP;PDO;database
0 引 言
在當前眾多的開發網站后臺的腳本中,PHP無疑是一顆耀眼的明星。PHP以其簡單易學、免費使用、可以在多種平臺下運行、兼容幾乎所有服務器、支持多種數據庫的優點受到了許多公司和開發者的青睞。據AlexaTOP500中國網站排名統計,其中有394家使用了PHP技術,占比為78.8%,而國內大多數的動態網站都使用PHP開發。國內主流網站,包括百度、網易、搜狐、阿里巴巴、騰訊等的許多產品都使用PHP。
1 PHP簡介
PHP是“Hypertext Preprocessor”的首字母縮略詞,是一種被廣泛使用的、在服務器上執行的開源腳本語言,是一門令人驚嘆的流行語言,具有強大的功能,是當前許多知名網站的選擇,而它的易用程度可以成為初學者的首選服務器端語言。
PHP文件包含文本、HTML、CSS以及PHP代碼,在服務器上執行,而結果以純文本返回瀏覽器。PHP的強大之處在于:開源免費、支持面向對象、擁有良好的可擴展性、能夠借助服務終端機實現會話系統維護和平衡處理器狀態等。基本操作簡單,生成動態頁面內容,創建、打開、讀取、寫入、刪除以及關閉服務器上的文件;接收表單數據;發送并取回Cookies;添加、刪除、修改數據庫中的數據;對數據進行加密等。
作為一種動態網頁語言的PHP,它具有開發成本低,周期短,后期維護費用低,開源產品豐富的特點。
2 MySQL簡介
MySQL是目前最為流行的開放源碼的數據庫,是完全網絡化的跨平臺的關系型數據庫系統,被廣泛地應用于互聯網的中小網站中,具有體積少、總體擁有成本低等特點。由瑞典MySQL AB公司開發,目前屬于Oracle旗下產品。
MySQL將數據保存在不同的表中,這樣就提升了速度和靈活性。MySQL使用標準的結構化查詢語言SQL訪問數據庫。MySQL數據庫功能齊全,運行速度快,十分可靠,具有很好的安全性。支持多線程,可以運行在不同的操作系統中。“PHP+MySQL+Apahce”是當今最為流行的Web開發語言、數據庫和Web服務器,可組成良好的開發環境。
3 使用PDO的原因
PDO是PHP數據對象(PHP Data Object)的縮寫。PDO為PHP訪問數據庫定義了輕量級的、一致性的接口,它提供了一個數據庫訪問抽象層。這樣無論使用什么數據庫,都可以通過一致的函數執行查詢和獲取數據,大大簡化了數據庫的操作過程,并能夠屏蔽不同數據庫之間的差異,使用PDO可以很方便地進行跨數據庫程序的開發,以及不同數據庫間的移植,是PHP在數據庫處理的主要發展方向,它可以支持MySQL、PostgreSQL、Oracle、msSQL等多種數據庫。
4 PDO操作數據庫的方法說明
操作數據庫是指訪問數據庫中的表,即對數據庫中的表進行增刪改查。通用流程是打開數據庫(也稱為連接數據庫)、處理表以及關閉數據庫。下面以MySQL數據庫為例,給出相關代碼。
4.1 連接數據庫
$dsn = '數據庫標識:dbname=數據庫名;host=ip地址';
//設置連接數據庫的變量DSN。如需修改數據庫類型,如使用oracle數據庫,不需要修改程序,只需要將數據庫標識寫成oci即可,MySQL的標識是mysql。
$user = '用戶名';
$password = '密碼';
try {
$dbh = new PDO($dsn, $user, $password);
//使用PDO類,創建一個對象dbh。即連接數據庫,或叫打開數據庫。
} catch (PDOException $e) {
echo '數據庫連接失敗: ' . $e->getMessage();
}
4.2 數據庫表內容的修改(增刪改)
4.2.1 通用代碼
PDO訪問表的方法有多種,本文選用預處理的方法。
$query="SQL語句";//不同的操作選用不用的SQL語句
$pdostmt = $dbh->prepare($query); //預處理
$pdostmt->execute(); //SQL語句執行
$sql = $pdostmt->rowCount(); //執行結果影響的記錄數
4.2.2 對結果的處理
$dbh=null; //釋放數據庫連接,關閉數據庫,減少安全隱患
if ($sql) {
echo "";
}else{
echo "";
}
4.2.3 修改的SQL語句例程
$query="update 表名set字段1='$變量1',字段2='$變量2',…字段n='$變量n' where 條件";
4.2.4 添加的SQL語句例程
$query="insert into表名 (字段1,字段2,…,字段n) values ('$變量1','$變量2',… ,'$變量n')";
4.2.5 刪除的SQL語句例程
$query="delete from 表名 where 條件";
4.3 查詢
使用select語句進行查詢。以下代碼是查詢和對查詢結果的處理,本處使用了while循環處理多條記錄。代碼示意如下:
$query="select語句";
$pdostmt = $dbh->prepare($query);
$pdostmt->execute();
$allsum=$pdostmt->rowCount(); //返回的記錄數
$i=0;//記數器歸0
while($i<$allsum) {
$info =$pdostmt->fetch(PDO::FETCH_ASSOC);
//以關聯數組形式提取一條記錄
…//操作數組$info的語句
$i++;//記數器加1
}
5 結 論
總之,在PHP中使用PDO訪問數據庫是一個明智的選擇,方法也十分簡單。最重要的是,在變更數據庫時,不需要在所有的地方修改代碼,只需修改數據庫標識即可,極大地方便了程序員地工作,提高了工作效率,從而實現降低成本。
參考文獻:
[1] 席曉桃.淺談PHP在電子商務網站建設中的研究與應用 [J].辦公自動化,2018,23(17):29-31+34.
[2] 劉萬輝.PHP動態網站開發實例教程 [M].北京:高等教育出版社,2014.
作者簡介:雷衛(1969.04-),男,漢族,遼寧大連人,本科,高級講師,研究方向:計算機及教學。