




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PHP+MySQL開發實例教程ISBN號:978-7-5083-7194-8作者:毛書朋聶慶鵬653工程指定教材第8章PHP+MYSQL數據庫編程
8.1連接數據庫前的準備工作8.2PHP操作MYSQL數據庫的流程8.3PHP操作MYSQL方法詳解8.4邊學邊做:用MySQL改寫用戶注冊與登陸程序8.5本章小結8.6練習題8.1連接數據庫前的準備工作
從PHP5開始,不知道出于什么考慮,PHP開發者放棄了對MySQL的默認支持,而是放到了擴展函數庫中。因此要使用MySQL函數,需要首先開啟MySQL函數庫。打開php.ini,找到“;extensions=php_mysql.dll”,將此行面前的分號“;”去掉,保存之后重新啟動IIS/APACHE。8.2PHP操作MYSQL數據庫的流程從根本上來說,PHP是通過預先寫好的一些列函數來與MySQL數據庫進行通信,向數據庫發送指令、接收返回數據等都是通過函數來完成。圖9-1給出了一個普通PHP程序與MySQL進行通信的基本原理示意圖。8.2PHP操作MYSQL數據庫的流程8.2PHP操作MYSQL數據庫的流程上圖展示了PHP程序連接到MySQL數據庫服務器的原理。可以看出,PHP通過調用自身的專門用來處理MySQL數據庫連接的函數,來實現與MySQL通信。而且,PHP并不是直接操作數據庫中的數據,而是把要執行的操作以SQL語句的形式發送給MySQL服務器,由MySQL服務器執行這些指令,并將結果返回給PHP程序。MySQL數據庫服務器可以比作一個數據“管家”。其他程序需要這些數據時,只需要向“管家”提出請求,“管家”就會根據要求進行相關的操作或返回相應的數據。8.2PHP操作MYSQL數據庫的流程8.2PHP操作MYSQL數據庫的流程明白了PHP操作MySQL的流程,我們就很容易掌握PHP操作MySQL的相關函數。因為以上幾乎每一個步驟,都有相應的函數與之對應。開發PHP數據庫程序時,只需要按照流程調用相關函數,數據庫操作便可輕松實現。8.3PHP操作MYSQL方法詳解
8.3.1PHP操作MySQL常用函數PHP中可以用來操作MYSQL數據庫的函數見表8-1:(詳見自編教材)這些函數中,最常用的有mysql_connect()、mysql_select_db()、mysql_query()、mysql_fetch_array()、mysql_num_rows()、mysql_close()等。下面我們就著重介紹這幾個函數的使用。8.3PHP操作MYSQL方法詳解
8.3.2PHP對MySQL數據庫的操縱
1、mysql_connect()函數resourcemysql_connect(stringserver,stringusername,stringpassword)該函數返回類型為resource型,即資源型。三個參數分別為MySQL服務器地址、MySQL用戶名、密碼。這里的用戶名可以用超級管理員的,也可以用用戶表中存在的其他用戶。如下面的語句將用超級管理員身份建立一個到本地服務器的連接:例:$id=mysql_connect(“localhost”,”root”,”1234”);8.3PHP操作MYSQL方法詳解
8.3.2PHP對MySQL數據庫的操縱1、mysql_connect()函數<?php$id=mysql_connect(“localhost”,”root”,”1234”);echo$id;?>8.3PHP操作MYSQL方法詳解
8.3.2PHP對MySQL數據庫的操縱1、mysql_connect()函數如果出現下列提示:Warning:mysql_connect()[function.mysql-connect]:UnknownMySQLserverhost[…]則說明MySQL服務器地址錯誤,可能是輸入有錯誤,或者服務器沒有啟動,或者端口號不對。這時可以檢查函數的第一個參數是否提供正確,MySQL是否已成功啟動。8.3PHP操作MYSQL方法詳解
8.3.2PHP對MySQL數據庫的操縱
1、mysql_connect()函數還有可能出現下列提示:Warning:mysql_connect()[function.mysql-connect]:Accessdeniedforuser[…]這說明用戶名或密碼有錯誤。或者本帳號沒有在本MySQL服務器上登陸的權限。我們這里之所以如此詳細地講解該函數,就是因為這時連接到MySQL數據庫的第一步。只要這一步成功了,那么下面的所有函數便都能運行。連接到數據庫是一切工作的起點。因此必須保證此步驟成功,才能繼續下面的內容。
8.3PHP操作MYSQL方法詳解
8.3.2PHP對MySQL數據庫的操縱2、mysql_select_db()函數
例:文件8-1.php:連接到MySQL數據庫服務器并選擇數據庫8.3PHP操作MYSQL方法詳解
8.3.2PHP對MySQL數據庫的操縱3、mysql_query()函數例:文件8-2.php:用PHP程序創建新數據庫和表例:文件8-3.php:用PHP向表中插入數據例:文件8-4.php:用PHP從表中讀出數據
8.3PHP操作MYSQL方法詳解
8.3.2PHP對MySQL數據庫的操縱arraymysql_fetch_array(resourceresult[,intresult_type])
該函數的作用是,讀取記錄集result中的當前記錄,將記錄的各個字段的值存入一個數組中,并返回這個數組,然后將記錄集指針移動到下一條記錄。如果記錄集已經到達末尾,則返回false。arraymysql_fetch_array(resourceresult[,intresult_type])
第二個參數result_type為可選,此參數用來設置返回的數組采用什么樣的下標。有三個備選值:MYSQL_ASSOC、MYSQL_NUM、MYSQL_BOTH。三個參數的含義如下:8.3PHP操作MYSQL方法詳解
8.3.2PHP對MySQL數據庫的操縱①MYSQL_ASSOC:返回的數組將以該記錄的字段名稱作為下標。如在本例中,要輸出此數組中的“姓名”字段,可以用$info[‘name’]。這里$info是數組名,“name”是存放姓名的字段名。②MYSQL_NUM:返回的數組以從0開始的數字為下標。在本例中,返回的每條記錄只有兩個字段,那么數組也就只有兩個元素,分別用$info[0]、$info[1]來引用。③MYSQL_BOTH:返回的數組既可以用字段名為下標,也可以用數字為下標。在本例中,既可以用$info[0]來取得姓名,也可以用$info[‘name’]來取得。
8.3PHP操作MYSQL方法詳解
8.3.2PHP對MySQL數據庫的操縱
4、mysql_close()函數此函數用來關閉一個數據庫連接。其使用格式如下;boolmysql_close([resourcelink_identifier])本函數只有一個可選參數link_identifier。此參數表示要關閉的連接的ID。也就是mysql_connect()函數執行成功后返回的一個連接標記。參數為空時表示關閉當前連接。該函數返回一個布爾型結果。當關閉成功時返回true,關閉失敗是返回false。8.3PHP操作MYSQL方法詳解
8.3.2PHP對MySQL數據庫的操縱
4、mysql_close()函數<?php$id=mysql_connect(“localhost”,”root”,”1234”);if(mysql_close($id)){echo“關閉數據庫連接成功!”;}else{echo“關閉數據庫連接失敗!”;}?>8.3PHP操作MYSQL方法詳解8.3.3PHP中數據分頁的實現在Web開發中經常遇到的一個問題就是,對大量數據進行分頁顯示。比如一個留言板有數千條留言,如果這些留言全都顯示在一個頁面上,頁面將變得很大難以瀏覽,有時過大的頁面還會導致瀏覽器停止相應。PHP中提供了非常簡單方法,可以對數據進行分頁。下面我們就來看一下。8.3PHP操作MYSQL方法詳解8.3.3PHP中數據分頁的實現例:文件8-5.php:用PHP實現數據分頁顯示功能8.4邊學邊做:用MySQL改寫用戶注冊與登陸程序
一、“邊學邊做”分析
在第6章中我們已經做了用戶注冊與登陸的例子,其中我們事把用戶的注冊信息存放在記事本中,其實這樣的寫法在現行的網絡中并不常見,現在網絡上比較流行的還是用數據庫來存儲用戶注冊的信息,這是因為數據庫在存儲和查詢數據方面有著記事本無法比擬的優勢,當用戶登錄的時候再與數據庫中的數據進行校驗,如果一致允許登錄,反之提示錯誤信息。我們要用數據庫存儲用戶注冊信息就要分析用戶注冊的信息項,并設定相對應的數據字段來進行存儲。我們要用數據庫存儲用戶注冊信息就要分析用戶注冊的信息項,并設定相對應的數據字段來進行存儲。8.4邊學邊做:用MySQL改寫用戶注冊與登陸程序二、實施步驟1、創建數據庫和表本例中我們一共用到1個數據庫和1個表。數據庫名為login,數據表的名字位user_info,用來存儲用戶的注冊信息,其字段設置和字段數據類型見下表:
8.4邊學邊做:用MySQL改寫用戶注冊與登陸程序二、實施步驟1、創建數據庫和表打開phpMyAdmin,按照上述設計創建數據庫和表。直接用SQL創建數據庫和數據表8.4邊學邊做:用MySQL改寫用戶注冊與登陸程序創建數據庫:CREATEDATABASE`login`;創建表user_info:CREATETABLE`user_info`(`id`int(11)NOTNULLauto_increment,`user_name`varchar(20)NOTNULL,`user_pass`varchar(20)NOTNULL,`head_pic`varchar(30)NOTNULL,PRIMARYKEY(`id`),UNIQUEKEY`id`(`id`))8.4邊學邊做:用MySQL改寫用戶注冊與登陸程序2、代碼編寫本實例共用到4個文件。分別是:login.html:用戶注冊信息頁,同6.9中的login.html;login_action.php:用戶注冊信息記錄頁,在6.9中的login_action.php的基礎上修改;land.html:用戶登錄信息頁,同6.9中的land.html;land_action.php:用戶登錄信息校驗頁,在6.9中的land_action.php的基礎上修改;由于login.html和land.html和6.9中的完全一致,這兒就不再多說。
8.4邊學邊做:用MySQL改寫用戶注冊與登陸程序login_action.php的不同處是把原來51-59行的代碼替換成下面的代碼:51: $id=mysql_connect("localhost","root","root");52: mysql_select_db("login",$id);53: $query="insertintouser_info(user_name,user_pass,head_pic)values('$user_name','$user_pw1','$file_name')";54: mysql_query($query,$id);land_action.php的代碼如下:1:<!--文件login_action.php:用戶登陸-->2:<html>3:<head>4:<title>用戶登陸</title>5:</head>6:<body>7:<?php8.4邊學邊做:用MySQL改寫用戶注冊與登陸程序8: $id=mysql_connect("localhost","root","root");9: mysql_select_db("login",$id);10: $user_name=$_POST["user_name"];11: $user_pw=$_POST["user_pw"];12: $query="select*fromuser_infowhereuser_name='$user_name'";13: $rst=mysql_query($query,$id);14: if(mysql_num_rows($rst)==0){15: echo"用戶名不存在,請<ahref=land.html>返回</a>";16: }else{17: $user=mysql_fetch_array($rst,MYSQL_ASSOC);18: if($user["user_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國巴西鯛魚行業市場前景預測及投資價值評估分析報告
- 高端會議同聲傳譯服務補充協議
- 精細化物業維修員派遣與維護服務協議
- 智能醫療設備控制APP研發與集成服務協議
- 海員船員全職勞動合同編制與實施指南
- 知識產權證書交付與知識產權許可使用期限限定協議
- 智能化集裝箱港口無人集卡租賃與智能物流解決方案合同
- 房延期交房協議書
- 社區民生志愿者協議書
- 瑜伽館股權協議書
- 2025年軟件設計師考試模擬題大全試題及答案
- 和二手車合作協議書
- 商會授權運營協議書
- 肌肉注射課件(共45張課件)
- 改革開放史智慧樹知到期末考試答案2024年
- 院內按病種分值付費(DIP)專題培訓
- 公司鑰匙移交單
- 企業標準化管理手冊范本
- 項目部勞資員任命書
- 10kV電氣設備預防性試驗規程
- 部編人教版-二年級下冊道德與法治全冊知識點總結
評論
0/150
提交評論