![PHP操作MySQL數(shù)據(jù)庫課件_第1頁](http://file4.renrendoc.com/view/29270301e551ce4fca43021ae41899b7/29270301e551ce4fca43021ae41899b71.gif)
![PHP操作MySQL數(shù)據(jù)庫課件_第2頁](http://file4.renrendoc.com/view/29270301e551ce4fca43021ae41899b7/29270301e551ce4fca43021ae41899b72.gif)
![PHP操作MySQL數(shù)據(jù)庫課件_第3頁](http://file4.renrendoc.com/view/29270301e551ce4fca43021ae41899b7/29270301e551ce4fca43021ae41899b73.gif)
![PHP操作MySQL數(shù)據(jù)庫課件_第4頁](http://file4.renrendoc.com/view/29270301e551ce4fca43021ae41899b7/29270301e551ce4fca43021ae41899b74.gif)
![PHP操作MySQL數(shù)據(jù)庫課件_第5頁](http://file4.renrendoc.com/view/29270301e551ce4fca43021ae41899b7/29270301e551ce4fca43021ae41899b75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第8章PHP操作MySQL數(shù)據(jù)庫MySQL的安裝與使用PHP訪問MySQL基本步驟MySQLi擴(kuò)展預(yù)處理與參數(shù)綁定第8章PHP操作MySQL數(shù)據(jù)庫MySQL的安裝與使用My目錄PHP訪問MySQL8.28.1MySQL的安裝和使用MySQLi擴(kuò)展的使用8.3預(yù)處理和參數(shù)綁定8.4目錄PHP訪問MySQL8.28.1MySQL的安裝和使用M8.1MySQL的安裝和使用數(shù)據(jù)庫概述數(shù)據(jù)庫(Database)簡稱DB,是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,其本身可看作電子化的文件柜,用戶可以對文件中的數(shù)據(jù)進(jìn)行增加、刪除、修改、查找等操作。8.1MySQL的安裝和使用數(shù)據(jù)庫概述數(shù)據(jù)庫(Databa8.1MySQL的安裝和使用數(shù)據(jù)庫概述數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,簡稱DBMS)是數(shù)據(jù)庫系統(tǒng)的核心,是一種操作和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫,以及保證數(shù)據(jù)庫的安全性和完整性。8.1MySQL的安裝和使用數(shù)據(jù)庫概述數(shù)據(jù)庫管理系統(tǒng)(Da8.1MySQL的安裝和使用數(shù)據(jù)庫概述隨著數(shù)據(jù)庫技術(shù)的不斷發(fā)展,數(shù)據(jù)庫產(chǎn)品越來越多,常見的有Oracle、SQLServer、MySQL等,它們各自的特點如下所述。8.1MySQL的安裝和使用數(shù)據(jù)庫概述隨著數(shù)據(jù)庫技術(shù)的不斷8.1MySQL的安裝和使用數(shù)據(jù)庫概述Oracle數(shù)據(jù)庫是Oracle公司推出的數(shù)據(jù)庫管理系統(tǒng),在數(shù)據(jù)庫領(lǐng)域一直處于領(lǐng)先地位是目前世界上流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一優(yōu)勢在于移植性好、使用方便、功能性強(qiáng),適用于各類大、中、小、微機(jī)環(huán)境。對于要求高效率、吞吐量大的項目而言是一個不錯的選擇。8.1MySQL的安裝和使用數(shù)據(jù)庫概述Oracle數(shù)據(jù)庫8.1MySQL的安裝和使用數(shù)據(jù)庫概述SQLServer是Microsoft公司推出的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)廣泛應(yīng)用于電子商務(wù)、銀行、保險、電力等行業(yè)優(yōu)點,易操作、界面良好等特點深受廣大用戶喜愛缺點,只能在Windows平臺上運行,并對操作系統(tǒng)的穩(wěn)定性要求較高8.1MySQL的安裝和使用數(shù)據(jù)庫概述SQLServer8.1MySQL的安裝和使用數(shù)據(jù)庫概述MySQL數(shù)據(jù)庫是開放源碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。由瑞典MySQLAB公司開發(fā),先后被Sun和Oracle公司收購。是最受歡迎的關(guān)系型數(shù)據(jù)庫之一,尤其是在Web開發(fā)領(lǐng)域,MySQL依然占據(jù)著舉足輕重的地位。8.1MySQL的安裝和使用數(shù)據(jù)庫概述MySQL數(shù)據(jù)庫8.1MySQL的安裝和使用數(shù)據(jù)庫概述MySQL數(shù)據(jù)庫低成本:開源的,開發(fā)人員可根據(jù)需求自由進(jìn)行修改,降低了開發(fā)成本跨平臺:可在Windows、Linux、MacOS等多達(dá)14種平臺上使用。高性能:多線程以及SQL算法的設(shè)計,使其可充分利用CPU資源和提高查詢速度上手快:MySQL使用標(biāo)準(zhǔn)的SQL數(shù)據(jù)語言形式,方便用戶操作。API接口:提供多種編程語言的API,方便操作數(shù)據(jù)庫。例如Java、C、PHP等。8.1MySQL的安裝和使用數(shù)據(jù)庫概述MySQL數(shù)據(jù)庫8.1MySQL的安裝和使用獲取MySQL打開MySQL的官方網(wǎng)站“”獲取軟件的下載。在網(wǎng)站中找到“Downloads”下載頁面,可以看到MySQL各種版本的下載地址。8.1MySQL的安裝和使用獲取MySQL打開MySQL的8.1MySQL的安裝和使用獲取MySQLMySQL主要提供了企業(yè)版(Enterprise)和社區(qū)版(Community)產(chǎn)品社區(qū)版是通過GPL協(xié)議授權(quán)的開源軟件,可以免費使用企業(yè)版是需要收費的商業(yè)軟件8.1MySQL的安裝和使用獲取MySQLMySQL主要提8.1MySQL的安裝和使用獲取MySQL本書選擇MySQL社區(qū)版進(jìn)行講解,在下載頁面找到“MySQLCommunityServer”版本進(jìn)行下載。8.1MySQL的安裝和使用獲取MySQL本書選擇MySQ8.1MySQL的安裝和使用命令安裝方式——解壓文件創(chuàng)建“C:\web\mysql5.7”作為MySQL的安裝目錄打開“mysql-5.7.17-win32.zip”壓縮包,將里面的“mysql-5.7.17-win32”目錄中的文件解壓到“C:\web\mysql5.7”路徑下。8.1MySQL的安裝和使用命令安裝方式——解壓文件創(chuàng)建“8.1MySQL的安裝和使用命令安裝方式——解壓文件需要重點關(guān)注
“bin”目錄和“my-default.ini”文件?!癰in”是MySQL的應(yīng)用程序目錄,保存了MySQL的服務(wù)程序“mysqld.exe”、命令行工具“mysql.exe”等“my-default.ini”是MySQL的默認(rèn)配置文件,用于保存默認(rèn)設(shè)置8.1MySQL的安裝和使用命令安裝方式——解壓文件需要重8.1MySQL的安裝和使用命令安裝方式——配置MySQL在安裝MySQL前,先進(jìn)行基本的配置。將默認(rèn)配置文件“my-default.ini”復(fù)制一份,命名為“my.ini”打開“my.ini”,找到如下配置項進(jìn)行修改:8.1MySQL的安裝和使用命令安裝方式——配置MySQL8.1MySQL的安裝和使用命令安裝方式——配置MySQLbasedir=C:/web/mysql5.7datadir=C:/web/mysql5.7/dataport=3306basedir表示MySQL的安裝目錄datadir表示數(shù)據(jù)庫文件的保存目錄port表示訪問MySQL服務(wù)的端口號MySQL數(shù)據(jù)庫的默認(rèn)端口號為33068.1MySQL的安裝和使用命令安裝方式——配置MySQL8.1MySQL的安裝和使用命令安裝方式——安裝MySQLMySQL安裝是指將MySQL安裝為Windows系統(tǒng)的服務(wù)項,可以通過MySQL的服務(wù)程序“mysqld.exe”來進(jìn)行安裝,具體步驟如下:8.1MySQL的安裝和使用命令安裝方式——安裝MySQL8.1MySQL的安裝和使用命令安裝方式——安裝MySQL①執(zhí)行【開始】菜單-【所有程序】-【附件】,找到【命令提示符】并單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇【以管理員身份運行】方式,啟動命令行窗口。②在命令模式下,切換到MySQL安裝目錄下的bin目錄。cdC:\web\mysql5.7\bin8.1MySQL的安裝和使用命令安裝方式——安裝MySQL8.1MySQL的安裝和使用命令安裝方式——安裝MySQL③輸入以下命令開始安裝。mysqld.exe-install默認(rèn)情況下,MySQL將自動讀取安裝目錄下的“my.ini”配置文件。值得一提的是,如果需要卸載MySQL服務(wù),可以使用“mysqld.exe-remove”命令進(jìn)行卸載。8.1MySQL的安裝和使用命令安裝方式——安裝MySQL8.1MySQL的安裝和使用命令安裝方式——啟動MySQL服務(wù)(1)初始化數(shù)據(jù)庫在安裝MySQL后,數(shù)據(jù)文件目錄“c:\web\mysql5.7\data”還沒有創(chuàng)建。因此,接下來要通過MySQL的初始化功能,自動創(chuàng)建數(shù)據(jù)文件目錄。具體命令如下:mysqld.exe--initialize-insecure“--initialize”表示初始化數(shù)據(jù)庫“-insecure”表示忽略安全性。當(dāng)省略“-insecure”時,MySQL將自動為默認(rèn)用戶“root”生成一個隨機(jī)的復(fù)雜密碼,而加上時,“root”用戶的密碼為空。8.1MySQL的安裝和使用命令安裝方式——啟動MySQL8.1MySQL的安裝和使用命令安裝方式——啟動MySQL服務(wù)(2)管理MySQL服務(wù)MySQL安裝后,就可以作為Windows的服務(wù)項進(jìn)行啟動或關(guān)閉了,通過Windows的系統(tǒng)的【控制面板】-【管理工具】-【服務(wù)】對MySQL服務(wù)進(jìn)行管理,也可以使用如下命令實現(xiàn)。8.1MySQL的安裝和使用命令安裝方式——啟動MySQL8.1MySQL的安裝和使用命令安裝方式——啟動MySQL服務(wù)(2)管理MySQL服務(wù)netstartMySQL #啟動“MySQL”服務(wù)netstopMySQL #停止“MySQL”服務(wù)netrestartMySQL#重新啟動“MySQL”服務(wù)8.1MySQL的安裝和使用命令安裝方式——啟動MySQL8.1MySQL的安裝和使用MySQL命令行工具——MySQL登錄與密碼設(shè)置無密碼登錄8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL登錄與密碼設(shè)置“-hlocalhost”表示登錄的服務(wù)器主機(jī)地址為localhost(本地服務(wù)器),可換成服務(wù)器的IP地址,如,也可以省略,MySQL在默認(rèn)情況下會自動訪問本地服務(wù)器“-uroot”表示以“root”用戶的身份登錄退出MySQL可以直接使用“exit”或“quit”命令退出登錄8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL登錄與密碼設(shè)置為了保護(hù)數(shù)據(jù)庫的安全,需要為登錄MySQL服務(wù)器的用戶需要設(shè)置密碼。下面以設(shè)置root用戶的密碼為例,具體執(zhí)行的命令如下。SETPASSWORDFOR'root'@'localhost'=PASSWORD('123456');“l(fā)ocalhost”主機(jī)中的“root”用戶設(shè)置密碼,密碼為“123456”。當(dāng)設(shè)置密碼后,退出MySQL,然后重新登錄時,就需要輸入剛才設(shè)置的密碼。8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL登錄與密碼設(shè)置在登錄有密碼的用戶時,需要使用的命令如下。mysql–hlocalhost-uroot-p123456“-p123456”表示使用密碼“123456”進(jìn)行登錄。如果在登錄時不希望被直接看到密碼,可以省略“-p”后面的密碼,然后按回車鍵,MySQL會提示輸入密碼,并且在輸入時不會回顯。有密碼登錄8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(1)數(shù)據(jù)庫管理數(shù)據(jù)庫的管理主要包括查看數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫、選擇數(shù)據(jù)庫和刪除數(shù)據(jù)庫。功能示例描述查看數(shù)據(jù)庫SHOWDATABASES;顯示MySQL數(shù)據(jù)庫服務(wù)器中已有的數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫CREATEDATABASE`itheima`;創(chuàng)建一個名稱為itheima的數(shù)據(jù)庫選擇數(shù)據(jù)庫USE`itheima`;選擇數(shù)據(jù)庫itheima進(jìn)行操作刪除數(shù)據(jù)庫DROPDATABASE`itheima`;刪除數(shù)據(jù)庫itheima8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(1)數(shù)據(jù)庫管理在創(chuàng)建和刪除指定數(shù)據(jù)庫時,為了防止創(chuàng)建的數(shù)據(jù)庫已存在或刪除的數(shù)據(jù)庫不存在,導(dǎo)致程序報錯,可以在操作的數(shù)據(jù)庫名稱前添加“IFNOTEXISTS”或“IFEXISTS”。CREATEDATABASEIFNOTEXISTS`itheima`;DROPDATABASEIFEXISTS`itheima`;8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(2)創(chuàng)建數(shù)據(jù)表數(shù)據(jù)表是數(shù)據(jù)庫中最基本的數(shù)據(jù)對象,用于存放數(shù)據(jù)。要選擇數(shù)據(jù)庫,確定是在哪個數(shù)據(jù)庫中創(chuàng)建的數(shù)據(jù)表要根據(jù)項目需求創(chuàng)建數(shù)據(jù)表才能對數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行具體操作8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(2)創(chuàng)建數(shù)據(jù)表CREATEDATABASEIFNOTEXISTS`itheima`;USE`itheima`;創(chuàng)建并選擇數(shù)據(jù)庫8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(2)創(chuàng)建數(shù)據(jù)表CREATETABLEIFNOTEXISTS`student`(`id`INTUNSIGNEDPRIMARYKEYAUTO_INCREMENTCOMMENT'學(xué)號',`name`VARCHAR(32)NOTNULLCOMMENT'姓名',`gender`ENUM('男','女')DEFAULT'男'NOTNULLCOMMENT'性別')DEFAULTCHARSET=utf8;創(chuàng)建學(xué)生信息表8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用功能示例INT常規(guī)整數(shù),有符號取值范圍:-231~231-1,無符號取值范圍:0~232-1VARCHAR(32)用于表示可變長度的字符串,最多保存32個字符ENUM('男','女')枚舉類型,其值只能男或女UNSIGNED用于設(shè)置字段數(shù)據(jù)類型是無符號的PRIMARYKEY用于設(shè)置主鍵,唯一標(biāo)識表中的某一條記錄AUTO_INCREMENT用于表示自動增長,每增加一條記錄,該字段會自動加1NOTNULL表示該字段不允許出現(xiàn)NULL值DEFAULT用于設(shè)置字段的默認(rèn)值DEFAULTCHARSET=utf8用于設(shè)置該表的默認(rèn)字符編碼為“utf8”COMMENT用于表示注釋內(nèi)容8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(3)數(shù)據(jù)表的管理對于已建數(shù)據(jù)表,可以查看表結(jié)構(gòu)、修改表結(jié)構(gòu),或者刪除不需要的數(shù)據(jù)表。8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用功能示例描述查看數(shù)據(jù)表SHOWTABLES;查看數(shù)據(jù)庫中已有的表查看表結(jié)構(gòu)DESC`student`;查看指定表的字段信息DESC`student``name`;查看指定表的某一列信息SHOWCREATETABLE`student`\G查看數(shù)據(jù)表創(chuàng)建語句和字符編碼SHOWCOLUMNSFROM`student`;查看表的結(jié)構(gòu)修改表結(jié)構(gòu)ALTERTABLE`student`ADD`area`VARCHAR(100);添加字段8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用功能示例描述修改表結(jié)構(gòu)ALTERTABLE`student`CHANGE`area``desc`CHAR(50);修改字段名稱ALTERTABLE`student`MODIFY`desc`VARCHAR(255);修改字段類型ALTERTABLE`student`DROP`desc`;刪除指定字段ALTERTABLE`student`RENAME`stu`;修改數(shù)據(jù)表名稱重命名RENAMETABLE`stu`TO`student`;將名字為stu的表重命名為student刪除數(shù)據(jù)表DROPTABLEIFEXISTS`student`;刪除存在的數(shù)據(jù)表student8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(4)數(shù)據(jù)管理——添加數(shù)據(jù)#指定字段插入INSERTINTO`student`(`name`,`gender`)VALUES('Tom','男'),('Lucy','女'),('Jimmy','男'),('Amy','女');#省略字段插入INSERTINTO`student`VALUES(NULL,'Elma','女'),(NULL,'Ruth','女');8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(4)數(shù)據(jù)管理——查詢數(shù)據(jù)SELECT*FROM`student`; #查詢表中所有數(shù)據(jù)SELECT`name`FROM`student`; #查詢表中指定字段SELECT*FROM`student`WHERE`id`=2; #查詢id等于2的學(xué)生信息SELECT*FROM`student`WHERE`id`IN(4,5); #查詢id為4或5的學(xué)生信息SELECT*FROM`student`WHERENAMELIKE'%y'; #查詢名字以y結(jié)尾的學(xué)生信息SELECT*FROM`student`ORDERBY`name`ASC; #將查詢結(jié)果按照名字升序排序SELECT*FROM`student`LIMIT1,2; #查詢結(jié)果從第2個開始,至多有2個SELECT`gender`,COUNT(*)FROM`student`GROUPBY`gender`;#按性別查詢男女各有多少人8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(4)數(shù)據(jù)管理——查詢數(shù)據(jù)FROM用于指定待查詢的數(shù)據(jù)表WHERE用于指定查詢條件IN關(guān)鍵字用于判斷某個字段的值是否在指定集合中LIKE用于模糊查詢,“%”表示一個或多個字符ORDERBY用于將查詢結(jié)果按照指定字段進(jìn)行排序,ASC表示升序,DESC表示降序LIMIT用于限定查詢結(jié)果GROUPBY用于按照指定字段進(jìn)行分組查詢8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(4)數(shù)據(jù)管理——修改數(shù)據(jù)例如,將學(xué)生信息表中學(xué)號為6的學(xué)生改名為TessUPDATE`student`SET`name`='Tess'WHERE`id`=6; #有條件修改UPDATE`student`SET`name`='Tess'; #無條件修改8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(4)數(shù)據(jù)管理——刪除數(shù)據(jù)在數(shù)據(jù)庫中,若有些數(shù)據(jù)已經(jīng)失去意義或者錯誤時,就需要將它們刪除。DELETEFROM`student`WHERE`gender`='女'; #刪除部分?jǐn)?shù)據(jù)DELETEFROM`student`; #刪除全部數(shù)據(jù)TRUNCATE`student`; #清空數(shù)據(jù)表8.1MySQL的安裝和使用MySQL命令行工具——MyS8.1MySQL的安裝和使用MySQL命令行工具——MySQL的基本使用(4)數(shù)據(jù)管理——刪除數(shù)據(jù)DELETE和TRUNCATE的區(qū)別前者可以加上WHERE子句,只刪除滿足條件的部分記錄,再次向表中添加記錄時,不影響自動增長值;后者只能用于清空表中的所有記錄,且再次向表中添加記錄時,自動增加字段的默認(rèn)初始值將重新由1開始。8.1MySQL的安裝和使用MySQL命令行工具——MyS8.2PHP訪問MySQLPHP的相關(guān)擴(kuò)展PHP作為一門編程語言,其本身并不具備操作數(shù)據(jù)庫的功能。因此,若想要在項目開發(fā)中,完成PHP應(yīng)用和MySQL數(shù)據(jù)庫之間的交互,則需借助PHP提供的數(shù)據(jù)庫擴(kuò)展。MySQL擴(kuò)展MySQLi擴(kuò)展PDO擴(kuò)展8.2PHP訪問MySQLPHP的相關(guān)擴(kuò)展PHP作為一門編8.2PHP訪問MySQLPHP的相關(guān)擴(kuò)展——MySQL擴(kuò)展是針對MySQL4.1.3或更早版本設(shè)計的PHP與MySQL數(shù)據(jù)庫交互的早期擴(kuò)展由于其不支持MySQL數(shù)據(jù)庫服務(wù)器的新特性,且安全性差并且在PHP7中,已經(jīng)徹底淘汰了MySQL擴(kuò)展8.2PHP訪問MySQLPHP的相關(guān)擴(kuò)展——MySQL擴(kuò)8.2PHP訪問MySQLPHP的相關(guān)擴(kuò)展——MySQLi擴(kuò)展MySQLi擴(kuò)展是MySQL擴(kuò)展的增強(qiáng)版不僅包含所有MySQL擴(kuò)展的功能函數(shù),還可使用MySQL新版本中的高級特性例如,多語句執(zhí)行和事務(wù)的支持,預(yù)處理方式解決了SQL注入問題等。只支持MySQL數(shù)據(jù)庫,如果不考慮其他數(shù)據(jù)庫,該擴(kuò)展是一個非常好的選擇8.2PHP訪問MySQLPHP的相關(guān)擴(kuò)展——MySQLi8.2PHP訪問MySQLPHP的相關(guān)擴(kuò)展——MySQLi擴(kuò)展雖然MySQLi擴(kuò)展默認(rèn)情況下已經(jīng)安裝,但使用時還需要開啟。打開PHP的配置文件php.ini,找到如下一行配置取消注釋,然后重新啟動Apache服務(wù)使配置生效。;extension=php_mysqli.dllphpinfo()8.2PHP訪問MySQLPHP的相關(guān)擴(kuò)展——MySQLi8.2PHP訪問MySQLPHP的相關(guān)擴(kuò)展——PDO擴(kuò)展PDO是PHPDataObjects(PHP數(shù)據(jù)對象)的簡稱它提供了一個統(tǒng)一的API接口,只要修改其中的DSN(數(shù)據(jù)源),就可以實現(xiàn)PHP應(yīng)用與不同類型數(shù)據(jù)庫服務(wù)器之間的交互解決了早期PHP版本中,不同數(shù)據(jù)庫擴(kuò)展的應(yīng)用程序接口互不兼容的特點,提高了程序的可維護(hù)性和可移植性8.2PHP訪問MySQLPHP的相關(guān)擴(kuò)展——PDO擴(kuò)展P8.2PHP訪問MySQLPHP訪問MySQL的基本步驟提問:通過前面的學(xué)習(xí),要實現(xiàn)MySQL數(shù)據(jù)庫的操作需要有哪幾個步驟?答案:①首先需要啟動MySQL數(shù)據(jù)庫服務(wù)器,輸入用戶名和密碼;②然后選擇要操作的數(shù)據(jù)庫,執(zhí)行具體SQL語句,獲取到結(jié)果。思考:在PHP應(yīng)用中,要想完成與MySQL服務(wù)器的交互,需要哪些步驟呢?8.2PHP訪問MySQLPHP訪問MySQL的基本步驟提8.2PHP訪問MySQLPHP訪問MySQL的基本步驟8.2PHP訪問MySQLPHP訪問MySQL的基本步驟8.3MySQLi擴(kuò)展的使用連接數(shù)據(jù)庫MySQLi擴(kuò)展為PHP與數(shù)據(jù)庫的連接提供了mysqli_connect()函數(shù)mysqlimysqli_connect(string$host=ini_get('mysqli.default_host'), //主機(jī)名或IPstring$username=ini_get('mysqli.default_user'),//用戶名string$passwd=ini_get('mysqli.default_pw'), //密碼string$dbname='', //數(shù)據(jù)庫名int$port=ini_get('mysqli.default_port'), //端口號string$socket=ini_get('mysqli.default_socket')//socket通信)8.3MySQLi擴(kuò)展的使用連接數(shù)據(jù)庫MySQLi擴(kuò)展為P8.3MySQLi擴(kuò)展的使用連接數(shù)據(jù)庫函數(shù)共有6個可選參數(shù),省略時將自動使用php.ini中配置的默認(rèn)值連接成功時,該函數(shù)返回一個表示數(shù)據(jù)庫連接的對象連接失敗時,函數(shù)返回false,并提示W(wǎng)arning級錯誤信息參數(shù)$socket表示mysql.sock文件路徑(用于Linux環(huán)境),通常不需要手動設(shè)置具體案例請參考教材8.3MySQLi擴(kuò)展的使用連接數(shù)據(jù)庫函數(shù)共有6個可選參數(shù)8.3MySQLi擴(kuò)展的使用執(zhí)行SQL語句在MySQLi擴(kuò)展中,通常使用mysqli_query()函數(shù)發(fā)送SQL語句,獲取執(zhí)行結(jié)果。mixedmysqli_query(mysqli$link, //數(shù)據(jù)庫連接string$query, //SQL語句int$resultmode=MYSQLI_STORE_RESULT //結(jié)果集模式(可選))$link表示通過mysqli_connect()函數(shù)獲取的數(shù)據(jù)庫連接$query表示SQL語句8.3MySQLi擴(kuò)展的使用執(zhí)行SQL語句在MySQLi擴(kuò)8.3MySQLi擴(kuò)展的使用執(zhí)行SQL語句執(zhí)行SELECT、SHOW、DESCRIBE或EXPLAIN查詢時,返回值是查詢結(jié)果集,而執(zhí)行其他查詢,執(zhí)行成功返回true,否則返回false。此外,可選參數(shù)$resultmode表示結(jié)果集模式,其值可以是以下兩種常量。MYSQLI_STORE_RESULT模式:會將結(jié)果集全部讀取到PHP端MYSQLI_USE_RESULT模式:僅初始化結(jié)果集檢索,在處理結(jié)果集時進(jìn)行數(shù)據(jù)讀取。具體案例請參考教材8.3MySQLi擴(kuò)展的使用執(zhí)行SQL語句執(zhí)行SELECT8.3MySQLi擴(kuò)展的使用處理結(jié)果集函數(shù)mysqli_query()在執(zhí)行SELECT、SHOW、EXPLAIN或DESCRIBE的SQL語句后,返回的是一個資源類型的結(jié)果集。因此,需使用函數(shù)從結(jié)果集中獲取信息。8.3MySQLi擴(kuò)展的使用處理結(jié)果集函數(shù)mysqli_q8.3MySQLi擴(kuò)展的使用處理結(jié)果集函數(shù)名描述mysqli_num_rows()獲取結(jié)果中行的數(shù)量mysqli_fetch_all()獲取所有的結(jié)果,并以數(shù)組方式返回mysqli_fetch_array()獲取一行結(jié)果,并以數(shù)組方式返回mysqli_fetch_assoc()獲取一行結(jié)果并以關(guān)聯(lián)數(shù)組返回mysqli_fetch_row()獲取一行結(jié)果并以索引數(shù)組返回函數(shù)mysqli_fetch_all()和mysqli_fetch_array()的返回值,都支持關(guān)聯(lián)數(shù)組和索引數(shù)組兩種形式第1個參數(shù)表示結(jié)果集第2個參數(shù)是可選參數(shù),用于設(shè)置返回的數(shù)組形式,其值是一個常量8.3MySQLi擴(kuò)展的使用處理結(jié)果集函數(shù)名描述mysql8.3MySQLi擴(kuò)展的使用處理結(jié)果集函數(shù)mysqli_fetch_all()和mysqli_fetch_array()的返回常量。MYSQLI_ASSOC:表示返回的結(jié)果是一個關(guān)聯(lián)數(shù)組MYSQLI_NUM:表示返回的結(jié)果是一個索引數(shù)組MYSQLI_BOTH:表示返回的結(jié)果中包含關(guān)聯(lián)和索引數(shù)組,該常量為默認(rèn)值具體案例請參考教材8.3MySQLi擴(kuò)展的使用處理結(jié)果集函數(shù)mysqli_f8.3MySQLi擴(kuò)展的使用其他操作函數(shù)MySQLi擴(kuò)展不僅為PHP連接數(shù)據(jù)庫、執(zhí)行SQL語句提供了函數(shù),還為方便開發(fā)提供很多其他常用的操作函數(shù)。例如,獲取插入操作時產(chǎn)生的ID號、SQL語句中特殊字符的轉(zhuǎn)義等。8.3MySQLi擴(kuò)展的使用其他操作函數(shù)MySQLi擴(kuò)展不8.3MySQLi擴(kuò)展的使用其他操作函數(shù)函數(shù)名描述mysqli_insert_id()獲取上一次插入操作時產(chǎn)生的ID號mysqli_affected_rows()獲取上一次操作時受影響的行數(shù)mysqli_real_escape_string()用于轉(zhuǎn)義SQL語句字符串中的特殊字符mysqli_error()返回最近函數(shù)調(diào)用的錯誤代碼mysqli_free_result()釋放結(jié)果集mysqli_close()關(guān)閉數(shù)據(jù)庫連接mysqli_free_result()函數(shù)用于釋放結(jié)果集占用的系統(tǒng)內(nèi)存資源mysqli_close()函數(shù)用于釋放打開的數(shù)據(jù)庫連接具體案例請參考教材8.3MySQLi擴(kuò)展的使用其他操作函數(shù)函數(shù)名描述mysq8.4預(yù)處理和參數(shù)綁定什么是預(yù)處理PHP執(zhí)行SQL傳統(tǒng)方式是將發(fā)送的數(shù)據(jù)和SQL寫在一起,這種方式每條SQL都需要經(jīng)過分析、編譯和優(yōu)化的周期;預(yù)處理方式則是預(yù)先編譯一次用戶提交的SQL模板,在操作時,發(fā)送相關(guān)數(shù)據(jù)即可完成更新操作,這極大地提高了運行效率,而且無需考慮數(shù)據(jù)中包含特殊字符(如單引號)導(dǎo)致的語法問題。8.4預(yù)處理和參數(shù)綁定什么是預(yù)處理PHP執(zhí)行SQL8.4預(yù)處理和參數(shù)綁定什么是預(yù)處理實現(xiàn)SQL語句的預(yù)處理首先需要預(yù)處理一個待執(zhí)行的SQL語句模板然后為該模板進(jìn)行參數(shù)綁定最后將用戶提交的數(shù)據(jù)內(nèi)容發(fā)送給MySQL執(zhí)行,完成預(yù)處理的執(zhí)行8.4預(yù)處理和參數(shù)綁定什么是預(yù)處理實現(xiàn)SQL語句的預(yù)處理8.4預(yù)處理和參數(shù)綁定預(yù)處理的實現(xiàn)——預(yù)處理SQL模板mysqi_prepare()函數(shù)用于預(yù)處理一個待執(zhí)行的SQL語句mysqli_stmtmysqli_prepare(mysqli$link,string$query)參數(shù)$link表示數(shù)據(jù)庫連接$query表示SQL語句模板當(dāng)函數(shù)執(zhí)行后,成功時返回預(yù)處理對象,失敗時返回false。8.4預(yù)處理和參數(shù)綁定預(yù)處理的實現(xiàn)——預(yù)處理SQL模板my8.4預(yù)處理和參數(shù)綁定預(yù)處理的實現(xiàn)——預(yù)處理SQL模板在編寫SQL語句模板時,其語法是將數(shù)據(jù)部分使用“?”占位符代替。#SQL正常語法UPDATE`student`SET`name`='Ileana'WHERE`id`=1;#SQL模板語法UPDATE`student`SET`name`=?WHERE`id`=?;SQL語句模板語法,對于字符串內(nèi)容,“?”占位符的兩邊無需使用引號包裹。8.4預(yù)處理和參數(shù)綁定預(yù)處理的實現(xiàn)——預(yù)處理SQL模板在編8.4預(yù)處理和參數(shù)綁定預(yù)處理的實現(xiàn)——模板的參數(shù)綁定mysqli_stmt_bind_param()函數(shù)用于將變
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色環(huán)保報社美縫施工及維護(hù)一體化服務(wù)合同
- 軟件安全開發(fā)標(biāo)準(zhǔn)作業(yè)指導(dǎo)書
- IT服務(wù)管理規(guī)范作業(yè)指導(dǎo)書
- 光伏發(fā)電組件銷售合同
- 樓盤銷售代理合同大曰金地產(chǎn)
- 補充協(xié)議能簽幾次
- 金融行業(yè)合規(guī)經(jīng)營操作手冊
- 桶裝水和學(xué)校簽的合同
- 木材加工廠出租合同
- 勞務(wù)派遣合同書樣本
- 呼吸道疾病的健康宣教
- 動物生產(chǎn)與流通環(huán)節(jié)檢疫(動物防疫檢疫課件)
- 裝配式建筑預(yù)制構(gòu)件安裝-預(yù)制構(gòu)件的吊裝
- 2024年山東泰安市泰山財金投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 上海天文館分析
- 中醫(yī)睡眠養(yǎng)生中心方案
- 生活中的邏輯學(xué)
- 大學(xué)生返家鄉(xiāng)社會實踐報告
- 初中生物中考真題(合集)含答案
- 《醫(yī)學(xué)免疫學(xué)實驗》課件
- C139客戶開發(fā)管理模型
評論
0/150
提交評論