




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 PHP 與MySQL 運作 建立與關閉資料連線 選擇資料庫 資料表查詢-利用SQL 指令PHP 在使用 MySQL 資料庫的資源時,必須經過以下的流程:1.建立連線(設定字元集與連線校對)2.選擇資料庫3.操作資料表4.取得結果5.讀取資料回傳6.關閉連結建立資料連線PHP 要使用 MySQL 資料庫的資源,首先要建立與資料庫伺服器之間的連線。在資源使用完畢之後,必須要關閉資料的連線,將佔用的資源釋放。mysql_connect():建立資料連結:建立資料連結 在 PHP 中可以使用 mysql_connect() 函式建立與 MySQL之間的連線,其語法格式如下:mysql_connect
2、(MySQL伺服器位址伺服器位址, 帳號帳號, 密碼密碼)建立資料連線建立資料連線範例$link= mysql_connect(“127.0.0.1”, “root”, “1234”); / $link 稱為連接識別碼(link identifier)而為因應可能出現的錯誤(如資料庫未啟動、連線埠口被佔用等問題),此一指令最好加上錯誤處理機制如下:$link = mysql_connect(localhost, root, 123456) or die(Could not connect : . mysql_error();或是$link =mysql_connect(localhost, r
3、oot, 123456);if (!$link) die(Could not connect : . mysql_error(); 設定字元集與連線校對如果 MySQL 資料庫本身的字元集與連線校對是使用 big5 繁體中文,而 PHP 程式中卻是使用 utf-8 的編碼進行連線,那顯示的結果就必然會是亂碼了!我們將統一使用 utf-8 的字元集與連線校對資料庫進行存取的動作,所以在建立資料連線之後就必須馬上宣告,如此一來就不會發生 PHP 存取編碼與資料庫設定編碼不同步的狀況發生。可使用mysql_query()函式來設定,其結合SQL 指令後如下:mysql_querymysql_quer
4、y( ( SET NAMES SET NAMES utf8utf8 ););建立連線引入檔在 PHP 程式中若要使用 MySQL 資料庫伺服器中的資源,都必須經過建立資料連線,一直到設定字元集與連線校對的步驟。若能將這個標準流程中的程式碼儲存為一個單獨的檔案,無論哪個程式頁面需要使用到資料庫時就將這個檔案引入,即可完成使用資料庫前這一系列的動作。不僅可以提高開發程式的效率,也能讓未來維護時更加的方便。連線引入檔範例connMysql.php?php header(Content-Type: text/html; charset=utf-8);include(connMysql.php);inc
5、lude(connMysql.php);$seldb = mysql_select_db(class);if (!$seldb) die(資料庫選擇失敗!);$sql_query = SELECT * FROM students;$result = mysql_query($sql_query);選擇資料庫在成功的建立與資料連線後,在 PHP 中可以使用 mysql_select_db() 函式選擇使用的資料庫,其語法格式如下:也可利用mysql_query指令達成相同功能選擇資料庫範例mysql_select_db(class); 或mysql_query(use class);mysql_
6、select_db(資料庫名稱 ,連接識別碼)mysql_query(use 資料庫名稱 );執行資料表查詢當成功建立資料連線、選好資料庫之後,就可以對資料表執行資料的查詢、新增、更新或刪除等動作。我們可以使用 mysql_query() 函式在 MySQL 中執行 SQL 指令,其語法格式如下:資料表查詢範例$result= mysql_query(select * from students, $link);mysql_query(SQL 指令字串指令字串 , 連接識別碼連接識別碼 )選擇資料庫並執行查詢前述的選擇資料庫及資料表查詢需要用到下列兩指令:mysql_select_db(“cl
7、ass”)$result=mysql_query(select * from students,$link);其實PHP亦可將上述兩指令合併成下列指令:使用 mysql_db_query() 在 MySQL中執行 SQL 指令後會回傳一個資源識別碼,否則會回傳 FALSE 值。例: $result = mysql_db_query(class, select * from students, $link);mysql_db_query(資料庫名稱, SQL 指令字串 ,連接識別碼)分析表頭由資料庫回傳的資料分成兩個部分, 表頭,也就是所傳回資料的欄位名稱, 表身,也就是分析傳回的資料內容。在P
8、HP 中可利用mysql_fetch_field()指令來查詢表頭,其指令格式如下: 而因SQL查詢子句的不同,所傳回的表頭欄位數也不同,因此通常以while指令進行分析mysql_fetch_field(資源識別碼)?php include(connMysql.php);$seldb = mysql_select_db(class);if (!$seldb) die(資料庫選擇失敗!);$sql_query = SELECT * FROM students;$result = mysql_query($sql_query);echo ;while ($field = mysql_fetch_
9、field($result) echo $field-name;echo ;?分析表頭範例(補充)?php include(connMysql.php);$seldb = mysql_select_db(class);if (!$seldb) die(資料庫選擇失敗!);$sql_query = SELECT * FROM students;$result = mysql_query($sql_query);echo ;$cnt = mysql_num_fieldsmysql_num_fields($result)($result);for ($i=0;$i$cnt;$i+) $fName=
10、mysql_field_namemysql_field_name($result, $($result, $i i) ); echo $fName; echo ;?分析表身表身便是傳回資料的實際內容,如以student表格為例,表身資料便是cID、cName等表格實際內容。而依索引方式不同,有下列的指令:mysql_fetch_row( ): 以整數為索引mysql_fetch_assoc( ):以欄位名稱為索引mysql_fetch_array( ): 以整數及欄位名稱為索引均可分析表身-以整數為索引利用整數為索引,其指令為mysql_fetch_row( )格式如下:讀取查詢結果中的一筆資
11、料,存成一個陣列,若到達記錄的底部就會回傳 false例:$row_result = mysql_fetch_row($result);mysql_fetch_row(資源識別碼)分析表身-以整數為索引範例$value) echo $item.=.$value.;echo ;?分析表身-以欄位為索引範例$value) echo $item.=.$value.; echo ;?分析表身-以整數及欄位名稱為索引$value) echo $item.=.$value.; echo ;?移動記錄指標 無論使用 mysql_fetch_row()、mysql_fetch_assoc() 或 mysql_
12、fetch_array() 函式,每執行一次資料識別碼中的記錄指標只會向下移動一筆。如果我們想在執行查詢後可以直接前往指定的記錄所在,可以使用 mysql_data_seek() 函式,其語法格式如下:mysql_data_seek(資源識別碼, 記錄指標位置)移動記錄指標範例學生資料管理系統目前資料筆數:?;?,新增學生資料。 座號姓名性別生日 電子郵件電話住址功能 ?phpwhile($row_result=mysql_fetch_assoc($result)echo ;echo .$row_resultcID.;echo .$row_resultcName.;echo .$row_res
13、ultcSex.;echo .$row_resultcBirthday.;echo .$row_resultcEmail.;echo .$row_resultcPhone.;echo .$row_resultcAddr.;echo 修改 ;echo 刪除;echo ;? 欄位資料 姓名 性別 男 女 生日 電子郵件 電話 住址 add.php (1/2)欄位資料姓名input type=text name=cName id=cName value=?;?性別input type=radio name=cSex id=radio value=M ?checked;?男input type=rad
14、io name=cSex id=radio value=F ?checked;?女生日input type=text name=cBirthday id=cBirthday value=?;?電子郵件input type=text name=cEmail id=cEmail value=?;?電話input type=text name=cPhone id=cPhone value=?;?住址input name=cAddr type=text id=cAddr size=40 value=?;?input name=cID type=hidden value=?;?欄位資料姓名?;?性別?生
15、日?;?電子郵件?;?電話?;?住址?;? input name=cID type=hidden value=?;? delete.php (2/2)data_page.php (1/2) ? 1) / 1) / 若不是第一頁則顯示 ? 第一頁 a href=data_page.php?page=? echo $num_pages-1;?上一頁 ? ? ?phpphp if ($ if ($num_pagesnum_pages $ ? a href=data_page.php?page=? echo $num_pages+1;?下一頁 a href=data_page.php?page=?;?
16、最後頁 ? ? 頁數:?phpphpfor ($for ($i i=1; $=1; $i i=$=$total_pagestotal_pages; $; $i i+) +) if ($ if ($i i=$=$num_pagesnum_pages) ) echo $ echo $i i. ;. ; else else echo a echo $i i ; ; ?data_page.php (2/2)Case study (自行練習)新增、更新與刪除資料 系統分析Homework -線上投票設計三個網頁: index.php: 顯示各候選人照片、名稱、簡介,並讓使用者可單選一位候選人。 其form 的按鈕
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 背景音乐系统施工方案
- 怒江非开挖工程施工方案
- 防盗网的施工方案
- 以上是100个医学试卷考试标题涵盖了广泛的医学领域并嵌入了“2025年”关键词避免重复便于搜索引擎收录
- 金属护栏施工方案
- 新生班主任发言稿
- 产业可行性研究报告模板
- 男方订婚发言稿
- 老路基聚合物注浆施工方案
- 四川洗沙淤泥固化施工方案
- 小班安全《安安全全玩滑梯》
- 形式发票与商业发票的区别
- 人工智能在软件缺陷预测中的应用
- 03D501-1 防雷与接地安装
- IPQC入职岗位培训
- 牛津自然拼读
- 京东集团员工手册-京东
- 正确识记现代汉语常用字字形课件
- 2023年福建三明市沙县区园区建设发展集团有限公司招聘笔试题库含答案解析
- 化工机械安装维修
- 2023年《中华人民共和国妇女权益保障法》知识竞赛试题及答案
评论
0/150
提交评论