PHP +MySQL快速入門 Lesson 3.

Slides:



Advertisements
Similar presentations
分享人:張益源. 個人資料介紹 姓名:張益源 畢業:體育系 97 級 專長:田徑、籃球、游泳 任教學校:慈濟大學實驗國民小學 學校職務:體育兼資訊老師.
Advertisements

模块五 动态网页技术 任务五 查询记录 任务一 表单设计制作 任务二 简单动态的 ASP 页面制作任务三 页面与数据库的集成任务四 添加记录 任务六 电商系统融入网站.
Oracle. 数据操纵语言  数据操纵语言用于检索、插入和修改数据  数据操纵语言是最常见的 SQL 命令  数据操纵语言命令包括:  SELECT  INSERT  UPDATE  DELETE.
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
PHP 训练营 - MySQL OA 产品部 李鑫辉 2011 年 9 月. 内容提要 & 目录 1. 介绍 (10 分钟 ) 1.1. 简介 1.2. 特点 1.3. 安装 2. 语法 (60 分钟 ) 2.1. 存储引擎 MyISAM InnoDB 特点与区别.
第15章 教学成绩管理系统的ASP实现 教学提示:本章主要通过案例《教学成绩管理系统(ASP版)》,演示以SQL Server 2000为后台数据库,用ASP进行B/S结构的数据库应用程序的开发。本教材提供了案例全部源代码及设计文档,请同学们进行阅读、研究,重点在了解B/S结构下的数据库应用程序的总体结构。
第八单元 数据库MySQL应用基础 MySQL数据库应用基础 MySQ数据库操作使用 Mysql管理工具 第25章 数据库的增加/删除操作
南台資管同學進入職場應有的技能與心態
SQL的简单查询.
十一 ASP对数据库的访问.
第2讲 Transact-SQL语言.
学风建设- 班级-我 ERP 班.
数据库技术 实践.
第7章 表 格 清华大学出版社.
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第三讲 站点链接与表格布局.
資料庫 (Database) SQL Server 2008實作
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
第 八 章 資料庫安全 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
幸福大讲堂 也谈老年朋友的 “老有所□” 爸妈在线专家宣讲团 ——老年朋友如何乐度后半生概述 主讲:钱锡安
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
資料庫管理 資管二 賴柏融.
数据库应用与程序设计.
第五讲 利用视图进行查询优化.
關聯式資料庫.
留言版 1.先Create一個留言板的table
Introduction to PHP part3
第六章 學習SQL語言.
第 8 章 資料的 新增、修改與刪除.
Ch13 存取MySQL資料庫 實作:會員管理系統
後端教學-MYSQL 講師:邱小楓(邱珈蓉)
PHP與MySQL 入門學習指南 凱文瑞克 著 第 23 章 資料型別.
第十一章 資料庫設計與權限設定.
啟示錄.
面向高能所信息化系统的高可用数据库服务 王丽 计算中心 中科院高能所 第十八届全国科学计算与信息化会议.
第一組 指導教授:潘仁義老師 組 員:方明建 盧宗宏
Lesson 5 :基礎應用二(留言版) (2004/08/20).
班級:博、碩子一甲 授課老師:鐘國家 助教:陳國政
王乐元 中国高校人文社会科学信息网 北京易普拉格科技有限责任公司
題庫解析:MTA資料庫檢定 授課老師:李春雄 博士
第 10 章 PHP 存取 MySQL 資料庫.
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
操作資料庫 教授:楊維邦 教授 助教:黃存賢 陳廷宣.
浅谈MySql索引及锁的应用 厦门大学数据库实验室 刘颖杰 2014年3月8日.
SQL SERVER 一些经典语句 1.
SQL Injection (資料隱碼) 學生:a 吳倩瑜 指導教授:梁明章.
使用PHP來操作資料庫 教授:楊維邦 教授 助教:李政均、劉秋良.
网 站 设 计 与 建 设 Website design and developments
第20章 MySQL数据库.
数据库技术与应用.
武汉纺织大学传媒学院 cm.wtu.edu.cn
学习目标 1、介绍Mysql Workbench 中插入数据
MySQL开发规范 DB组-张浩.
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
第14章 SQL数据查询与操纵 内容提要 本章知识点
SQL查询语句 蔡海洋.
本讲内容 SQL 概述 SQL 的查询功能 SQL 的操作功能 SQL 的定义功能.
第三章 SQL Server数据管理.
XML備份MySQL資料庫 <html> <head>
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
外埔國小104學年度上學期期初校務會議 吳文芳 校長 104/09/02.
Lesson 4 :基礎應用一(計數器) (2005/01/27).
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 12 章 迴圈指令.
第4章 数据查询.
Presentation transcript:

PHP +MySQL快速入門 Lesson 3

MySQL資料庫與PHP的應用 1 2 3 4 5 讀取MySQL資料 更新MySQL資料 刪除MySQL資料

6-1 使用PHP連線MySQL資料庫 用PHP操作資料庫,會有以下四個步驟: 1、連接MySQL資料庫。 2、選擇資料庫,並設定資料庫連線編碼。 3、執行SQL語法。 4、關閉MySQL資料庫連線。 6-1.1 連接MySQL資料庫 連接MySQL資料庫有兩種方式,如以下介紹: 1、mysql_connect( ):屬於不佔線的連線方式,每次連線結束需使用mysql_close( )關閉連線,等下一次需要使用到資料庫的時候再建立連線。但若連線次數過於頻繁,容易造成伺服器額外的負擔。

mysql_connect("主機位置","資料庫帳號","資料庫密碼"); 格式如下: mysql_connect("主機位置","資料庫帳號","資料庫密碼"); 若PHP程式與資料庫都在同一台主機的硬碟裡,則主機位置可輸入『localhost』,其範例如下:mysql_connect("localhost","bill","123"); 若PHP程式與資料庫在不同的主機,主機位置則需要輸入資料庫主機的IP位址或網域名稱喔,其範例如下:mysql_connect("168.95.1.1","bill","123"); 2、mysql_pconnect( ):屬於佔線的連線方式,會獨佔一個連線,方便隨時與MySQL通訊。幫PHP程式使用mysql_pconnect( ),MySQL會去檢查是否有已經存在的資料庫連線,若有,就使用舊的連線;若無,就新開啟一個連線。此種連線方式有可能會造成伺服器忙碌,而導致無法連線。其格式如下: mysql_pconnect("主機位置","資料庫帳號","資料庫密碼");

mysql_query("set names 校對編碼"); 6-1.2 選擇資料庫 一個資料庫使用者可以擁有多個資料庫的操作權限,例如bill使用者有A資料庫與B資料庫的權限,而我們使用mysql_connect()連線MySQL之後,MySQL怎麼知道bill使用者要操作哪一個資料庫呢?我們可以使用mysql_select_db( )來選擇資料庫,其範例如下: mysql_select_db("資料庫名稱",連線編號); 範例:mysql_select_db("book",$link); 選擇資料庫後,記得要設定資料庫連線校對編碼方式,其格式如下: mysql_query("set names 校對編碼"); 範例: mysql_query("set names big5");

6-1.3 執行SQL語法 當資料庫連線成功後,我們可以利用mysql_query( )函式來執行新增(insert)、更新(update)、讀取(select)、刪除(delete)等功能,其格式如下: mysql_query(SQL指令); 6-1.4 關閉MySQL資料庫連線 如果使用mysql_connect( )來做連線方式,在執行完語法後,需使用mysql_close( )來關閉連線,如果是使用mysql_pconnect( )則無須使用mysql_close( )函式,因為mysql_close( )無法關閉mysql_pconnect所開啟的連線。 格式如下: mysql_close(連線編號);

6-1.5 PHP連線MySQL資料庫範例 我們來看看以下的範例,讓各位更了解PHP與MySQL之間的溝通: insert.php『新增一筆資料到members資料表』 1 <? 2 $link=mysql_connect("localhost","bill","123"); 3 mysql_select_db("book",$link); mysql_query("set names big5"); $str="insert into members(name,sex,year,month,day,phone,mail,address,reg_date,reg_time) values('陳小美','女','1975','4','11','0912345678','arfsw@xxxoo.com.tw','台中縣xx市xx路999號',now( ),now( ) )"; mysql_query($str,$link) or die("新增失敗"); mysql_close($link); 8 ?>

我們一行一行來講解。 首先看到第2行,我們先用mysql_connect() 建立一個連線,每次建立的連線,MySQL都會回傳一個連線編號,我們將連線編號指派給 $link 。 第3行:根據連線編號來選擇"book"資料庫。 第4行:設定資料庫之連線校對編碼方式。 第5行:有沒有很面熟呢?看起來很複雜,其實它只是一句簡單的SQL語法,它的作用是新增一筆資料到MySQL中。我們將這句SQL語法指派給 $str 。這段SQL語法中,有沒有看到now()函數呢?這是MySQL的函數,可以自動抓取目前的日期時間,但要注意的是,欄位型態必須設定為日期或時間型態,才不會有錯誤。 第6行:使用mysql_query()將SQL語法送到MySQL執行。那『or die("新增失敗");』是什麼意思呢?意思就是,若mysql_query()執行失敗,則會執行die()函數。die()函數的作用,可以在畫面上秀出你想讓使用者知道的資訊,並且立即停止程式的執行。 第7行:mysql_close($link);關閉資料庫連線。一隻PHP程式,可能會有一個甚至更多個資料庫的連線,每個資料庫連線都有特定的連線編號,因此,在你關閉資料庫連線時,必須讓指定連線編號,這樣MySQL才知道要關閉哪一個連線喔。

6-2 新增資料至MySQL members_insert.php『新增一筆資料到會員資料表』 依據第五章的會員資料表,我們來看看如何新增一筆資料到會員資料表裡面。 範例一: members_insert.php『新增一筆資料到會員資料表』 1 <? 2 $link=mysql_connect("localhost","bill","123"); 3 mysql_select_db("book",$link); 4 mysql_query("set names big5"); 5 $str="insert into members(name,sex,year,month,day,phone,address,reg_date) values('陳小美','女','1975','4','11','0912345678','台中縣xx市xx路999號',now( ))"; 6 mysql_query($str,$link) or ("新增失敗"); 7 mysql_close($link); 8 ?>

另外,上述範例中,第7行的『header("Localhost:index.php");』是什麼呢? 範例二: 有沒有發現?在上面的兩個範例中,我們都沒有新增『serial』的值,那麼為什麼在members資料表裡面欄位serial的值會自己出現呢?是因為我們把serial欄位的附加設定為『auto_increment』,還記得這是什麼意思嗎?簡單來說,我們選擇serial來當『主鍵』使用,並將其設定『auto_increment』;因此,當我們新增資料的時候,serial欄位的值就會自動編號了。 另外,上述範例中,第7行的『header("Localhost:index.php");』是什麼呢? members_insert.php『新增多筆資料到會員資料表』 1 <? 2 $link=mysql_connect("localhost","bill","123"); 3 mysql_select_db("book",$link); 4 mysql_query("set names big5"); 5 $str="insert into members(name,sex,year,month,day,phone,address,reg_date,reg_time) values('陳小美','女','1975','4','11','0912345678','台中縣xx市xx路999號',now(),now()), ('林大頭','男','1965','9','11','0915467890','台北縣xx市xx路111號',now(),now() ), ('黃阿勇','男','1972','5','20','095864809', '雲林縣xx市xx里777號',now(),now() )"; 6 mysql_query($str,$link) or ("新增失敗"); 7 mysql_close($link); 8 header("Localhost:index.php"); 9 ?>

header("Localhost:導向網址"); 簡單來說,它的作用是將網頁導向到其他頁面,其格式如下: header("Localhost:導向網址"); 以上範例程式執行完之後,會自動導向到『index.php』這一頁。為什麼要這麼做呢?當使用者新增完資料後,如果我們沒有把網頁導向另一頁,若使用者調皮或不小心在瀏覽器上點選『重新整理』,將會導致資料庫會多新增一筆或多筆資料。因此,在程式的結尾,記得把網頁導向另外一頁,除了可以讓使用者操作更方便外,也可以免除資料重複新增的顧慮唷。當然,這並不是必須遵守的規則,只是作者的經驗談。

6-3 讀取MySQL資料 讀取會員資料表中姓名為"陳小明"的出生年月日、電話、地址…等等。 1 <? 讀取單筆資料範例: 1 <? 2 $link=mysql_connect("localhost","bill","123"); 3 mysql_select_db("book",$link); 4 mysql_query("set names big5"); 5 $str="select year,month,day,phone,mail,address,reg_date from members where name='陳小明' "; 6 $list=mysql_query($str,$link); list($year,$month,$day,$phone,$mail,$address,$reg_date)=mysql_fetch_row($list); 8 mysql_close($link); 9 ?>

以上範例,我們讀取members資料表中的year、month、day、phone、mail、address、reg_date欄位的資料,並將MySQL回傳的值放到各個指定的變數中,方便後續PHP程式的運用。 讀取多筆資料範例: 讀取members資料表中指定的欄位資料,並搭配while迴圈將資料全部讀取出來,並顯示於畫面上。 1 <table border="1" width="100%"> 2 <tr><td>姓名</td> <td>性別</td><td>出生年月日</td> 3 <td>電話</td><td>註冊日期</td></tr> 4 <? 5 $link=mysql_connect("localhost","root","user"); 6 mysql_select_db("book",$link); 7 mysql_query("set names big5"); 8 $str="select name,sex,year,month,day,phone,reg_date from members"; 9 $list=mysql_query($str,$link); 10 while(list($name,$sex,$year,$month,$day,$phone,$reg_date)=mysql_fetch_row($list)) 11 { 12 echo "<tr><td>$name</td><td>$sex</td> 13 <td>$year 年 $month 月 $day 日</td> 14 <td>$phone</td><td>$reg_date</td></tr>"; 15 } 16 ?> </table>

執行結果:

6-4 更新MySQL資料 更新會員資料表中姓名為"陳小明"的電話號碼與電子郵件。 更新單筆資料範例: 1 <? 1 <? 2 $link=mysql_connect("localhost","bill","123"); 3 mysql_select_db("book",$link); 4 mysql_query("set names big5"); 5 $str="update members set phone='0423924505',mail='abc@ncut.edu.tw' where name='陳小明'"; 6 mysql_query($str,$link) or die("更新失敗"); 7 mysql_close($link); 8 ?>

更新多筆資料範例: 更新會員資料表中,出生年介於1970年至1975年之間的資料 1 <? 2 $link=mysql_connect("localhost","bill","123"); 3 mysql_select_db("book",$link); 4 mysql_query("set names big5"); 5 $str="update members set reg_date=now() where year between ‘1970’ and ‘1975’ "; 6 mysql_query($str,$link) or die("更新失敗"); 7 mysql_close($link); 8 ?>

6-5 刪除MySQL資料 刪除單筆資料範例: 刪除會員資料表中姓名為"陳小明"的資料 1 <? 1 <? 2 $link=mysql_connect("localhost","bill","123"); 3 mysql_select_db("book",$link); 4 mysql_query("set names big5"); 5 $str="delete from members where name='陳小明' "; 6 mysql_query($str,$link) or die("刪除失敗"); 7 mysql_close($link); 8 header("Localhost:index.php"); 9 ?>

刪除多筆資料範例: 刪除會員資料表中,出生年介於1970年至1975年之間的資料 1 <? 2 $link=mysql_connect("localhost","bill","123"); 3 mysql_select_db("book",$link); 4 mysql_query("set names big5"); 5 $str="delete from members where year between ‘1970’ and ‘1975’ "; 6 mysql_query($str,$link) or die("刪除失敗"); 7 mysql_close($link); 8 header("Localhost:index.php"); 9 ?>

刪除所有資料範例: 刪除所有資料範例: 1 <? 1 <? 2 $link=mysql_connect("localhost","bill","123"); 3 mysql_select_db("book",$link); 4 mysql_query("set names big5"); 5 $str="delete from members"; 6 mysql_query($str,$link) or die("刪除失敗"); 7 mysql_close($link); 8 header("Localhost:index.php"); 9 ?>