印前問答為您提供印刷前期的相關問題咨詢與解答,印刷案例規(guī)格及印刷報價,讓您實時了解在印刷前期的各類相關問題及印后相關問題,并提供印刷時的注意事項,為您提供各類印前印后的相關問題解決方案
印刷問答 2021-05-09 23:29 1019 0
PHP/MYSQL經(jīng)典教程!
首頁 -> 吉人巷精品區(qū)
閱讀上一個主題 :: 閱讀下一個主題
作者 留言
googniao
新手上路
加入于: 2002-12-22
文章: 33
發(fā)表于: 24 12 2002 06:21 下午 發(fā)表主題: PHP/MYSQL經(jīng)典教程!
--------------------------------------------------------------------------------
PHP/MySQL教程(一)
--------------------------------------------------------------------------------
本文介紹堪稱Web數(shù)據(jù)庫黃金組合的PHP/MySQL如何構(gòu)筑一個網(wǎng)絡數(shù)據(jù)庫應用的方法,PHP是一個類似微軟ASP的服務器端的嵌入式超文本處理語言,是建立動態(tài)網(wǎng)站的強大工具pdf怎么復制其中一頁。而MySQL是一個輕型SQL數(shù)據(jù)庫服務器,可運行在多種平臺上,包括Windows NT和Linux,它還有一個GPL版本,MySQL被認為是建立數(shù)據(jù)庫驅(qū)動的動態(tài)網(wǎng)站的最佳產(chǎn)品。PHP、MySQL和Apache是Linux平臺網(wǎng)站的最佳拍檔。該教程是一個3日課程,從安裝到應用都有詳細描述。
一、PHP/MySQL簡介
您應該聽說過開放源代碼軟件(OSS),除非最近六到八個月來您一直住在火星上pdf怎么復制其中一頁。這場運動有著巨大的沖擊力,已引起一些大公司的注意。象Oralce、Informix,還有多家公司都開始把他們的主力數(shù)據(jù)庫產(chǎn)品移植到OSS的產(chǎn)物之一 - Linux操作系統(tǒng)上。
如果您有足夠的技術力量,擁有一個復雜龐大的關系數(shù)據(jù)庫系統(tǒng)(RDBMS)則是如虎添翼pdf怎么復制其中一頁。但是也許您對數(shù)據(jù)庫還剛剛?cè)腴T,您剛剛讀了Jay的文章,決定自己也來搞一個數(shù)據(jù)驅(qū)動的網(wǎng)站。可是您也許會發(fā)現(xiàn)您缺乏必要的資源來運行ASP服務器或昂貴的數(shù)據(jù)庫系統(tǒng)(您也不需要這些東西)。您需要一些免費的、支持Unix的東西。
那么我建議您使用PHP和MySQLpdf怎么復制其中一頁。這兩樣東西加在一起,對于開發(fā)數(shù)據(jù)驅(qū)動的網(wǎng)站這項工作而言,真是最佳組合。其實用不著我多費唇舌解釋。一項由Netcraft組織的非官方調(diào)查顯示,應用PHP的主機數(shù)目由1998年6月的7,500臺躍升至1999年3月的410,000臺。不錯吧?這兩種軟件的組合還在Webcon98大會上贏得了年度數(shù)據(jù)庫產(chǎn)品大獎,還得了一座漂亮的獎杯。
MySQL是一個小巧靈瓏的數(shù)據(jù)庫服務器軟件,對于小型(當然也不一定很?。孟到y(tǒng)是非常理想的pdf怎么復制其中一頁。除了支持標準的ANSI SQL語句,它還支持多種平臺,而在Unix系統(tǒng)上該軟件支持多線程運行方式,從而能獲得相當好的性能。對于不使用Unix的用戶,它可以在Windows NT系統(tǒng)上以系統(tǒng)服務方式運行,或者在Windows 95/98系統(tǒng)上以普通進程方式運行。
PHP是一種服務器端解釋的腳本語言pdf怎么復制其中一頁。如果你接觸過ASP的話,那么您對于在HTML頁面中嵌入代碼應該是比較熟悉了。PHP代碼在服務器一端被解釋轉(zhuǎn)變成普通的HTML頁面內(nèi)容,送給瀏覽器一端。這種模式使得我們可以用它來完成相當復雜的功能。
除了免費這一點(當然,MySQL也有一些使用許可方面的限制),PHP-MySQL的組合還可以跨平臺運行,這意味著您可以在Windows上開發(fā),然后在Unix平臺上運行pdf怎么復制其中一頁。另外,PHP也能作為標準的CGI進程來運行,此時它是一個獨立的腳本解釋器,或者是Apache的一個嵌入模塊。
如果您有興趣使用其他數(shù)據(jù)庫服務器的話,PHP也支持Informix、Oracle、Sybase、Solid和PostgreSQL ,以及通用的ODBCpdf怎么復制其中一頁。
PHP支持Internet開發(fā)的一些前沿技術pdf怎么復制其中一頁。這些技術包括身份認證、XML、動態(tài)圖象生成、WDDX、共享內(nèi)存,以及動態(tài)PDF文檔等等,不一而足。如果您還不滿意的話,PHP是很容易擴展的,所以只要您有編程能力,您盡可以自己大展身手一番。
最后要說的是,兩種軟件都是大量程序員協(xié)同開發(fā)的,因此文檔及郵件列表等支持方式很多pdf怎么復制其中一頁。程序錯誤的修正很快,而如果您要求加入新功能的話,總會有人考慮您的要求,并且在可行性足夠高的前提下加以實現(xiàn)。
說得夠多了!我們來看看這篇教程里都有些什么內(nèi)容吧pdf怎么復制其中一頁。
第一課講的是在Unix和Windows環(huán)境下安裝這兩個軟件pdf怎么復制其中一頁。如果您不太關心這個問題(也許您是在ISP的服務器上開發(fā)),您可以直接跳到第一個示例程序,從那里開始您的奇妙之旅。
在第二課里,我們要學習一些更加復雜的腳本功能,比如循環(huán)、處理用戶輸入,以及與數(shù)據(jù)庫交換數(shù)據(jù)等等pdf怎么復制其中一頁。
第三課要講的是確認功能,以及如何使您的腳本程序清晰簡練pdf怎么復制其中一頁。
我們開始吧
二、安裝MySQL
快點行動,拿到這些軟件包,仔細研究一下吧pdf怎么復制其中一頁。這可不是件容易的事兒。你從獲取軟件包、編譯軟件包到安裝軟件包的過程中都有不少的選擇項。我們先從MySQL開始,因為有了它才能運行PHP。
MySQL中央網(wǎng)站是;
在這時候你也會有多種選擇pdf怎么復制其中一頁。如果你是發(fā)燒友的話,可以下載源代碼;否則,網(wǎng)上也有各種平臺上運行的預先編譯過的二進制文件可以直接下載。
另外,MySQL還為Windows用戶準備了一個共享軟件版本,它的版本號稍低一些pdf怎么復制其中一頁。如果你想要最新的版本,得花錢買一個軟件許可。MySQL還提供了ODBC驅(qū)動程序,使前端應用程序可以訪問MySQL數(shù)據(jù)庫。有關其他一些詳細信息在它的網(wǎng)站上都有得介紹,您可以去看看。
預先編譯過的Unix版本和Windows版本都很簡單,只須解包即可使用,不需要做太多說明了pdf怎么復制其中一頁。因此,我們來介紹一下源代碼的編譯。Windows用戶請記住,您需要運行mysqld程序,該程序是在mysql/bin目錄下。
下載壓縮過的軟件包文件,放在一個目錄下pdf怎么復制其中一頁。使用gzip和tar來解壓縮和解包。比較快的做法是使用下面這樣的命令:
gunzip < mysql-xxxx.tar.gz | tar xvf -
其中,xxxx是你自己任取的一個版本標記pdf怎么復制其中一頁。上面的命令將創(chuàng)建一個名為mysql-xxxx目錄,所有的源程序文件都在這個目錄下。通過執(zhí)行cd mysql-xxxx命令轉(zhuǎn)入該目錄,仔細閱讀其中的多個README文件INSTALL文件。在遇到某些問題時,這些文件可能會幫上大忙呢。
MySQL帶有一些便利的配置腳本程序pdf怎么復制其中一頁。只須簡單地鍵入./configure,您就可以讓這些程序為您完成很多工作。如果您需要明確指定要做的事情,可以使用./configure -help命令,它會給您列出你可以使用的選項。例如,如果您正在一臺內(nèi)存較少的機器上進行編譯,那么可以使用--with-low-memory選項。我喜歡把MySQL安裝在一個總目錄下,而不是安裝在機器上多個目錄下,所以我會指定安裝目錄,并指定-prefix選項。
您還可以指定許多其他選項,象編譯過程中要略掉哪些部分、保留哪些部分等pdf怎么復制其中一頁。我們不妨假定要全部安裝在服務器的/usr/local/mysql目錄下。這意味著我們將鍵入./configure -prefix=/usr/local/mysql命令。
配置腳本程序運行時會檢查您的系統(tǒng),然后生成一些文件來保證編譯的順利進行pdf怎么復制其中一頁。如果該腳本程序失敗,它也會顯示一些有用的錯誤信息告訴您失敗的原因。大家經(jīng)常會遇到腳本程序在尋找多線程庫文件時失敗。此時您應當檢查一下系統(tǒng)中是否已經(jīng)安裝了MIT-pthreads,如果沒有,那么請您安裝該軟件。Linux用戶則必須安裝LinuxThreads。這些庫文件對于MySQL的多線程運行模式(也就是運行它自己的多個版本〕是非常關鍵的。
如果一切都順利進行的話,只須簡單鍵入make命令,然后就可以去泡杯咖啡了pdf怎么復制其中一頁。MySQL是相當復雜的程序,編譯起來得用一段時間。如果發(fā)現(xiàn)錯誤,可以檢查文檔,看看只否您漏掉了某些與您的操作系統(tǒng)有關的準備工作。
接下來,鍵入make install命令,所有必需的文件都會安裝到相應的目錄pdf怎么復制其中一頁。您差不多就可以開始使用了!如果您是MySQL新手,以前從未安裝過MySQL,那您得創(chuàng)建默認的許可權(quán)限才能安裝,因此請鍵入...scripts/mysql_install_db來進行相應的設置。
就這樣pdf怎么復制其中一頁。我們的準備工作完成了。再下面所要做的就是在機器啟動時自動啟動數(shù)據(jù)庫,并在關機時自動關閉數(shù)據(jù)庫。是的,這項工作也有一個專門的腳本程序。mysql.server start命令可以啟動數(shù)據(jù)庫,而mysql.server stop可以關閉數(shù)據(jù)庫。實在是再簡單不過了。如果您想手動啟動數(shù)據(jù)庫(這樣就不用重啟機器了),你以進到安裝MySQL的最上層目錄(/usr/local/mysql)然后鍵入bin/safe_mysqld &命令。
我們已經(jīng)完成了一半了pdf怎么復制其中一頁。接下來是PHP部分。
三、安裝PHP
好,看到這里時,希望您已經(jīng)把MySQL安裝好并運行起來了pdf怎么復制其中一頁。那實在是太有意思了!下面是PHP...這個過程要容易一些,不過那些大量的選項還是使人眼花繚亂。當然,您大可不必驚慌。您隨時可以重頭再來,重新編譯PHP,根據(jù)需要來加入或去掉某個選項。
PHP的老家在。
這里您的選擇不是很多pdf怎么復制其中一頁。有一些預選編譯好的二進制文件,但那都是實驗性的。如果您不是在Windows平臺上,那就下載源代碼,自己編譯一下吧。
但是我們還是先談談Windowspdf怎么復制其中一頁。在使用PHP時,一般的作法是在Windows系統(tǒng)上開發(fā),然后在Unix服務器上運行。您最終可能也會選擇這種方式,這就需要您對兩種平臺下的安裝都很熟悉才行。
下載Windows二進制文件后,您可以用您喜歡的任何一種ZIP解壓縮程序,把軟件包中的文件解壓到C盤的php3目錄下pdf怎么復制其中一頁。軟件包中的README文件對安裝過程中的細節(jié)作了部分說明,但是我們在這里再對這個文件中的關鍵內(nèi)容做個讀者文摘:如果您不想把PHP安裝在C:\php3目錄,而是別的目錄,那么您得編輯解壓縮出來的文件中那個.inf文件。
在php3目錄中,您會發(fā)現(xiàn)很多.dll文件pdf怎么復制其中一頁。把所有文件名不是以php_開頭的那些.dll文件都移到\windows\system目錄下。然后,把php.ini-dist文件改一下名,改成php3.ini,并把它移到\windows目錄下。如果您打開這個文件,會發(fā)現(xiàn)里面有很多有趣的東西可以改。現(xiàn)在,把含有:
extension=php3_mysql.dll
內(nèi)容的那一行的注釋去掉pdf怎么復制其中一頁。
如果您使用的是Win32平臺上的Apache服務器,那么請設置Apache,使其能夠識別并解釋PHP文件pdf怎么復制其中一頁。您需要在軟件的版本)中加入下一行:
Action application/x-“
AddType application/x-
或者,如果您使用的是IIS,那么請用鼠標右鍵單擊php_iis_reg.inf文件,并選擇“安裝”pdf怎么復制其中一頁。您得重新啟動系統(tǒng),才能使剛才所做的改動生效。
OK,說完了Windows,再來說說Unixpdf怎么復制其中一頁。當然,我們要從源代碼開始編譯。與MySQL相似,把源文件下載、解包。PHP也同樣包含一個配置腳本程序,可是您不能完全使用默認設置。運行./configure -help | more命令,可以逐頁地觀看有哪些新的、有趣的選項。您必須選擇是把PHP編譯成外部CGI程序還是Apache內(nèi)嵌模塊。如果您正在使用Apache Web服務器,并且您可以對它進行重新編譯的話,請選擇內(nèi)嵌模塊方式,這種方式運行更快,使用也更簡便。否則,您可以選CGI方式。另外,您還得指定將對MySQL的支持部分編譯進去。
現(xiàn)在我們假定要以內(nèi)嵌模塊方式編譯,并帶有MySQL支持部分pdf怎么復制其中一頁。如果隨后您需要增加其他選項或庫文件的話,可以在以后再加進去。鍵入下面的命令:
./configure -with-apache=/path/to/apache/dir -with-mysql=/usr/local/mysql
如果您打算以外部CGI程序方式來編譯的話,請去掉-with-apache選項pdf怎么復制其中一頁。配置程序運行起來后,會創(chuàng)建相應的系統(tǒng)文件。接下來簡單地執(zhí)行make命令就行了。
又可以喝一杯咖啡了pdf怎么復制其中一頁。如果您在此時感到坐立不安的話,不必擔心。每個人在初次安裝PHP的時候都有一點近不及待的感覺。再多喝點咖啡就是了。
如果您選擇CGI程序方式來編譯,那么現(xiàn)在可以就可以使用了pdf怎么復制其中一頁。只須把產(chǎn)生的可執(zhí)行文件復制到CGI程序目錄下就行了。如果您使用Apache內(nèi)嵌模塊方式來編譯,要再執(zhí)行一下make install命令,把有關文件復制到Apache目錄下。在該目錄下,您可以按照Apache的文檔說明,向其中加入PHP模塊,并重新編譯Apache。
現(xiàn)在您得告訴Web服務器如何通過PHP程序來處理頁面內(nèi)容pdf怎么復制其中一頁。如果您使用的不是Apache,那您需要查閱Web服務器軟件的文檔,看看如何讓它處理后綴是.php3的文件。Apache1.3.x版本的用戶僅須在前面還得加入下面內(nèi)容:
Action application/x-
就是這樣pdf怎么復制其中一頁。您的運氣還不那么差,現(xiàn)在MySQL也運行起來了,PHP也工作正常了。
既然我們已經(jīng)進行了這么多,下面我們可以實際操練了pdf怎么復制其中一頁。
PHP/MySQL教程(二)
--------------------------------------------------------------------------------
四、第一個腳本
如果我告訴您真正難過的一關已經(jīng)過了,您一定會很高興pdf怎么復制其中一頁。軟件的安裝過程總是無法預料,因為系統(tǒng)跟系統(tǒng)之間可以說是千差萬別。不過您運氣不錯,數(shù)據(jù)庫運行起來,PHP也編譯安裝完畢,Web服務器也可以正確處理擴展名為.php3的文件了。
我們下面就開始正式上路,要寫第一個腳本程序了pdf怎么復制其中一頁。創(chuàng)建一個文本文件,在其中加入下面的內(nèi)容:
<>
<>
<?php
$myvar = “Hello World“;
echo $myvar;
?>
</body>
</html>
現(xiàn)在,訪問相應的URL,例如,文檔,看看軟件設置是否正確無誤。
就是這樣了!這是您的第一個PHP程序pdf怎么復制其中一頁。如果您查看一下這個頁面的HTML源代碼,您會發(fā)現(xiàn)里面只有Hello World 這樣的文字。
那是因為PHP引擎過濾了文件內(nèi)容,對其中的代碼作了處理,轉(zhuǎn)換成了標準的HTMLpdf怎么復制其中一頁。
在上面的程序中您最先注意到的可能是定界符,也就是以<?php開始的那幾行pdf怎么復制其中一頁。這個標記說明后面是PHP代碼,而?>表示代碼結(jié)束。PHP的強大之處在于,這些代碼可以以多種不同方式放在任意位置-我是說任意位置。后面我們會看到一些很有趣的例子,現(xiàn)在我們還是從最簡單的開始。如果您愿意,也可以設置PHP,讓它使用短標記,<?和?>,但這與XML會發(fā)生沖突,所以要小心使用。如果您是從ASP轉(zhuǎn)向PHP,您甚至可以讓PHP使用<%和%>作為定界符。
您還會注意到每行后面的分號pdf怎么復制其中一頁。這些分號稱為分隔符,用于分隔不同的指令。您可以把所有的PHP代碼寫在一行里,用分隔符把命令分開。但是那樣看起來很亂,所以我們在每個分號后面都另起一行。記住,每行最后都要以分號結(jié)束。
最后,您會注意到myvar這個字以$符號開頭pdf怎么復制其中一頁。這個符號告訴PHP,這是一個變量。我們把“Hello World”賦給變量$myvar。一個變量可以是數(shù)字,也可以是數(shù)組。不管怎樣,所有的變量都是以$符開頭。
PHP真正強大之處來源于它的函數(shù)pdf怎么復制其中一頁。函數(shù),基本上是處理指令序列。如果您把所有的選件都編譯進PHP,總共會有超過700個函數(shù)。這些函數(shù)可以讓您做很多事情。
現(xiàn)在我們再加進一些MySQL的內(nèi)容進去pdf怎么復制其中一頁。
五、裝載數(shù)據(jù)庫
現(xiàn)在,我們要加入MySQL的內(nèi)容了pdf怎么復制其中一頁。要想知道PHP中包含哪些選項,或服務器方面的一些情況,一種簡便的方法是使用函數(shù)phpinfo()。創(chuàng)建一個象下面這樣的程序:
<>
<>
<?php
phpinfo();
?>
</body>
</html>
保存這個程序,在瀏覽器中訪問這個文件pdf怎么復制其中一頁。您會看到網(wǎng)頁中包含了一些有趣的、有用的信息,象這樣。這些信息是有關服務器、Web服務器內(nèi)部環(huán)境變量、PHP中包含的選項,等等。在第一段Extensions中,找到以MySQL開頭的一行。如果沒有找到,那說明MySQL支持選項并沒有編譯進PHP。您可以再檢查一下安裝步驟,查閱一下PHP文檔,看您是否漏掉了什么。
如果找到了MySQL那一行,那您可以繼續(xù)了pdf怎么復制其中一頁。
從MySQL數(shù)據(jù)庫中讀取數(shù)據(jù)之前,我們得先往數(shù)據(jù)庫里放一些數(shù)據(jù)pdf怎么復制其中一頁。在現(xiàn)在這一階段,還沒有一個簡便的方法來做這件事情。大多數(shù)的PHP程序都帶有一個數(shù)據(jù)文件,該文件包含一些數(shù)據(jù)來創(chuàng)建并激活MySQL數(shù)據(jù)庫。這個過程不在本教程范圍之內(nèi),所以讓我來替您做這件事情吧。
MySQL使用它自己的用戶權(quán)限表pdf怎么復制其中一頁。在安裝時,會創(chuàng)建一個默認的用戶(root),該用戶是沒有口令的。數(shù)據(jù)庫管理員可以根據(jù)需要來增加用戶并賦予用戶各種不同的權(quán)限,但這項工作完全可以另寫一本書了,所以我們只使用root用戶。如果您自己管理服務器和數(shù)據(jù)庫,為root用戶分配一個口令是很重要的。
總之,我們還是接著說數(shù)據(jù)庫吧pdf怎么復制其中一頁。對Win32用戶來說,很對不起,不過您要在DOS下做些工作。您不得不使用DOS窗口,或者在“執(zhí)行”窗口中鍵入所有命令。別忘了,輸入命令時要帶上MySQL/bin的目錄名。Unix用戶可以在MySQL的bin目錄下輸入命令,但命令必須以./開頭,才能讓程序運行起來。
我們要做的第一件事情是實際創(chuàng)建出數(shù)據(jù)庫pdf怎么復制其中一頁。在命令行下,鍵入下列命令:
mysqladmin -u root create mydb
這樣就創(chuàng)建了一個名為“mydb”的數(shù)據(jù)庫pdf怎么復制其中一頁。-u選項告訴MySQL我們使用的是root用戶。
下一步,我們要加入一些數(shù)據(jù),這里我們用的示例數(shù)據(jù)是大家都喜歡用的員工數(shù)據(jù)庫pdf怎么復制其中一頁。我們將會用到我前面提到過的數(shù)據(jù)文件。如果您想在這方面多了解一些,可以查閱MySQL所帶的手冊或訪問 /網(wǎng)站。
把下面的文字復制到一個文件中,把該文件存在MySQL的bin目錄下(我假定文件名是mydb.dump)pdf怎么復制其中一頁。
CREATE TABLE employees ( id tinyint(4) DEFAULT ’0’ NOT NULL
AUTO_INCREMENT, first varchar(20), last varchar(20),
address varchar(255), position varchar(50), PRIMARY KEY (id),
UNIQUE id (id));INSERT INTO employees VALUES (1,’Bob’,’Smith’,
’128 Here St, Cityname’,’Marketing Manager’);
INSERT INTO employees VALUES (2,’John’,’Roberts’,’45 There St ,
Townville’,’Telephonist’);
INSERT INTO employees VALUES (3,’Brad’,’Johnson’,’1/34 Nowhere Blvd,
Snowston’,’Doorman’);
如果文字是折行的,請確保每一個INSERT語句都是另起一行的pdf怎么復制其中一頁。現(xiàn)在,我們要把數(shù)據(jù)加入到mydb數(shù)據(jù)庫中了。在命令行下,鍵入下面的命令:
mysql -u root mydb < mydb.dump
此時您應該不會遇到什么錯誤pdf怎么復制其中一頁。如果真的出錯了,請仔細檢查一下是否因上面的文字折行而引起錯誤。
六、測試
OK,現(xiàn)在我們已經(jīng)把數(shù)據(jù)導入到數(shù)據(jù)庫中了pdf怎么復制其中一頁。現(xiàn)在我們來處理這些數(shù)據(jù)。把下面的文字存入一個文件中,把該文件存在Web服務器的文檔目錄下,后綴名為.php3。
<>
<>
<?php
$db = mysql_connect(“l(fā)ocalhost“, “root“);
mysql_select_db(“mydb“,$db);
$result = mysql_query(“SELECT * FROM employees“,$db);
printf(“First Name: %s<>\n“, mysql_result($result,0,“first“));
printf(“Last Name: %s<>\n“, mysql_result($result,0,“l(fā)ast“));
printf(“Address: %s<>\n“, mysql_result($result,0,“address“));
printf(“Position: %s<>\n“, mysql_result($result,0,“position“));
?>
</body>
</html>
我來解釋一下上面的代碼pdf怎么復制其中一頁。mysql_connect()函數(shù)負責以指定的用戶名(本例中用戶名是root)連接到指定機器(在本例中機器是本機localhost)上的MySQL數(shù)據(jù)庫。如果您想指定用戶口令,您也可以把它送給這個函數(shù)。連接的結(jié)果保存在變量$db中。
隨后,mysql_select_db()函數(shù)告訴PHP,我們要讀取的數(shù)據(jù)庫是mydbpdf怎么復制其中一頁。我們可以在程序中同時連接到多臺機器上的多個數(shù)據(jù)庫,但目前我們還是限于連接一個數(shù)據(jù)庫。
接下來,mysql_query()函數(shù)完成最復雜的部分pdf怎么復制其中一頁。利用剛才得到的連接結(jié)果標識,該函數(shù)把一行SQL語句送給MySQL服務器去處理。返回的結(jié)果保存在變量$result中。
最后,mysql_result()函數(shù)顯示SQL查詢命令所得到的各個字段的值pdf怎么復制其中一頁。利用變量$result,我們就可以找到第一條記錄,記錄號是0,并將其中各字段的值顯示出來。
如果您以前沒用過Perl或C語言,那么printf函數(shù)的語法格式會顯得很奇怪pdf怎么復制其中一頁。在上面的每一行程序中,%s代表表達式第二部分中的那個變量(例如,mysql_result($result,0,“position“))應該以字符串的形式顯示出來。
這一課我們就講到這里了pdf怎么復制其中一頁。我們已經(jīng)成功地編譯、安裝和設置了MySQL和PHP,并且運行了一個簡單的程序來讀取數(shù)據(jù)庫中的信息。在第二課里,我們會做一些更復雜的工作,來顯示多行記錄的數(shù)據(jù),甚至與數(shù)據(jù)庫互相交換數(shù)據(jù)。
PHP/MySQL教程(三)
--------------------------------------------------------------------------------
一、 while循環(huán)
在這一課里,我們將會繼續(xù)深入下去,使用PHP和MySQL來寫出一些簡單而有用的頁面pdf怎么復制其中一頁。我們從昨天創(chuàng)建的數(shù)據(jù)庫開始,顯示庫中的數(shù)據(jù),但是會再稍微加以潤色。
首先,我們用下面的代碼來查詢數(shù)據(jù)庫內(nèi)容pdf怎么復制其中一頁。
<>
<>
<?php
$db = mysql_connect(“l(fā)ocalhost“, “root“);
mysql_select_db(“mydb“,$db);
$result = mysql_query(“SELECT * FROM employees“,$db);
echo “< border=1>\n“;
echo “<><>姓名</td><>職位</td></tr>\n“;
while ($myrow = mysql_fetch_row($result)) {
printf(“<><>%s %s</td><>%s</td></tr>\n“, $myro
w[1], $myrow[2], $myrow[3]);
}
echo “</table>\n“;
?>
</body>
</html>
您可能已經(jīng)注意到,我們在這個程序里加進了一些新東西pdf怎么復制其中一頁。最明顯的是while()循環(huán)。該循環(huán)是說,只要數(shù)據(jù)庫里還有記錄可讀(使用mysql_fetch_row()函數(shù)),那就把該記錄賦給變量$myrow,然后執(zhí)行大括號({})內(nèi)的指令。仔細看一下這里,這部分是比較重要的。
我們應該注意一下mysql_fetch_row()函數(shù)pdf怎么復制其中一頁。這里有一點小問題,它返回的是一個數(shù)組,必須以數(shù)組下標來訪問其中的某個字段。第一個字段下標為0,第二個是1,依此類推。在執(zhí)行某些復雜查詢時,這么做簡直實在是太煩瑣了。
現(xiàn)在我們更仔細地研究一下循環(huán)過程pdf怎么復制其中一頁。程序前幾行我們在第一課的例子中已經(jīng)看到過了。然后,在while()循環(huán)中,我們從查詢結(jié)果中讀取一條記錄并把該記錄賦給數(shù)組$myrow。接著,我們用printf函數(shù)把數(shù)據(jù)中的內(nèi)容顯示在屏幕上。隨后,循環(huán)反復執(zhí)行,讀取下一條記錄賦給$myrow。這樣繼續(xù)下去,直到所有記錄都已被讀取完為止。
使用while()循環(huán)的一個好處是,如果數(shù)據(jù)庫查詢沒有返回任何記錄,那您也不會收到錯誤信息pdf怎么復制其中一頁。在剛執(zhí)行循環(huán)語句時,循環(huán)條件就不滿足,不會有任何數(shù)據(jù)賦給$myrow,程序就直接往下運行了。
但是如果查詢未返回任何數(shù)據(jù),我們怎么讓用戶知道這一點呢?我們也許該提供點兒相關的消息給用戶吧pdf怎么復制其中一頁。這是可以做到的,下面我們就看看怎么做。
二、 if-else
請看下面的程序pdf怎么復制其中一頁。
<>
<>
<?php
$db = mysql_connect(“l(fā)ocalhost“, “root“);
mysql_select_db(“mydb“,$db);
$result = mysql_query(“SELECT * FROM employees“,$db);
if ($myrow = mysql_fetch_array($result)) {
echo “< border=1>\n“;
echo “<><>姓名</td><>住址</td></tr>\n“;
do {
printf(“<><>%s %s</td><>%s</tr>\n“, $myrow[“first“],
$myrow[“l(fā)ast“], $myrow[“address“]);
} while ($myrow = mysql_fetch_array($result));
echo “</table>\n“;
} else {
echo “對不起pdf怎么復制其中一頁,沒有找到記錄!“;
}
?>
</body>
</html>
這段程序中包含有不少新內(nèi)容,不過這些內(nèi)容都相當簡單pdf怎么復制其中一頁。首先是mysql_fetch_array()函數(shù)。該函數(shù)與mysql_fetch_row()十分相近,只有一點不同:使用這個函數(shù)時,我們可以通過字段名而不是數(shù)組下標來訪問它返回的字段,比如$myrow[“first“]。這樣我們就可以省不少力氣了。另外,程序中還加進了do/while循環(huán)和if-else條件判定語句。
if-else條件判定語句的含意是,如果我們成功地把一條記錄賦給了$myrow變量,那就繼續(xù);否則,就跳到else部分,執(zhí)行那里的指令pdf怎么復制其中一頁。
do/while循環(huán)是我們在上頁中用戶的while()循環(huán)的一個變體pdf怎么復制其中一頁。我們要用到do/while的原因是:在最初的if語句中,我們已經(jīng)把查詢返回的第一條記錄賦給變量$myrow了。如果這時我們執(zhí)行一般的while循環(huán)(比如,while ($myrow = mysql_fetch_row($result)),那我們就會把第二條記錄賦給$myrow,而第一條記錄就被沖掉了。但是do/while循環(huán)可以讓我們執(zhí)行一次循環(huán)體內(nèi)容之后再來判定循環(huán)條件。因此,我們就不會不小心漏掉第一條記錄了。
最后,如果查詢結(jié)果沒有任何記錄的話,程序就會執(zhí)行包含在else{}部分的那些語句pdf怎么復制其中一頁。如果您想看到這部分程序的執(zhí)行情況,可以把SQL語句改為SELECT * FROM employees WHERE id=6,或改成其他形式,使得查詢結(jié)果中沒有任何記錄。
下面我們來擴充一下循環(huán)if-else 代碼,使得頁面內(nèi)容更加豐富pdf怎么復制其中一頁。相信您會喜歡的。
三、 第一個程序腳本
我們剛剛學到了循環(huán)語句,下面我們將在一個更加實際一點的例子中看看如何運用它pdf怎么復制其中一頁。但是在這之前,您應該知道如何處理Web表格、查詢參數(shù)串,以及表單的GET方法和POST方法。
現(xiàn)在,我們要處理查詢參數(shù)串,正如您所知道的,有三種方法可以把參數(shù)內(nèi)容寫入到查詢參數(shù)串中pdf怎么復制其中一頁。第一種是在表格中使用GET方法;第二種是在瀏覽器的地址欄中輸入網(wǎng)址時直接加上查詢參數(shù);第三種是把查詢參數(shù)串嵌入到網(wǎng)頁的超鏈接中,使得超鏈接的內(nèi)容象下面這樣:< href=“;。我們現(xiàn)在要用到最后這一種方法。
一開始,我們再來查詢我們的數(shù)據(jù)庫,列出員工姓名pdf怎么復制其中一頁。看看下面的程序,其中大部分內(nèi)容我們都已經(jīng)很熟悉了。
<>
<>
<?php
$db = mysql_connect(“l(fā)ocalhost“, “root“);
mysql_select_db(“mydb“,$db);
$result = mysql_query(“SELECT * FROM employees“,$db);
if ($myrow = mysql_fetch_array($result)) {
do {
printf(“< href=\“%s?id=%s\“>%s %s</a><>\n“,
$PATH_INFO, $myrow[“id“], $myrow[“first“], $myrow[“l(fā)ast“]);
} while ($myrow = mysql_fetch_array($result));
} else {
echo “對不起pdf怎么復制其中一頁,沒有找到記錄!“;
}
?>
</body>
</html>
這里沒什么特別的,只是printf函數(shù)有些不同pdf怎么復制其中一頁。那我們就來仔細研究一下。
首先要注意的是,所有的引號前面都有一個反斜杠pdf怎么復制其中一頁。這個反斜杠告訴PHP直接顯示后面的字符,而不能把后面的字符當作程序代碼來處理。另外要注意變量$PATH_INFO的用法。該變量在所用程序中都可以訪問,是用來保存程序自身的名稱與目錄位置的。我們之所以用到它是因為要在頁面中再調(diào)用這個程序本身。使用$PATH_INFO,我們可以做到,即使程序被挪到其他目錄,甚至是其他機器上時,我們也能保證正確地調(diào)用到這個程序。
正如我剛才提到的,程序所生成的網(wǎng)頁,其中包含的超鏈接會再次調(diào)用程序本身pdf怎么復制其中一頁。不過,再次調(diào)用時,會加入一些查詢參數(shù)。
PHP見到查詢參數(shù)串中包含有“名字=值”這樣的成對格式時,會作一些特別的處理pdf怎么復制其中一頁。它會自動生成一個變量,變量名稱與取值都與查詢參數(shù)串中所給定的名稱和取值相同。這一功能使得我們可以在程序中判斷出是第一次執(zhí)行本程序還是第二次。我們所要做的只是問問PHP$id這個變量是否存在。
當我知道這個問題的答案后,我可以在第二次調(diào)用程序時顯示一些不同的結(jié)果出來pdf怎么復制其中一頁。請看:
<>
<>
<?php
$db = mysql_connect(“l(fā)ocalhost“, “root“);
mysql_select_db(“mydb“,$db);
// display individual record
// 顯示單條記錄內(nèi)容
if ($id) {
$result = mysql_query(“SELECT * FROM employees WHERE id=$id“,$db);
$myrow = mysql_fetch_array($result);
printf(“名: %s\n<>“, $myrow[“first“]);
printf(“姓: %s\n<>“, $myrow[“l(fā)ast“]);
printf(“住址: %s\n<>“, $myrow[“address“]);
printf(“職位: %s\n<>“, $myrow[“position“]);
} else {
// show employee list
// 顯示員工列表
$result = mysql_query(“SELECT * FROM employees“,$db);
if ($myrow = mysql_fetch_array($result)) {
// display list if there are records to display
// 如果有記錄pdf怎么復制其中一頁,則顯示列表
do {
printf(“< href=\“%s?id=%s\“>%s %s</a><>\n“, $PATH_INFO,
$myrow[“id“], $myrow[“first“], $myrow[“l(fā)ast“]);
} while ($myrow = mysql_fetch_array($result));
} else {
// no records to display
// 沒有記錄可顯示
echo “對不起pdf怎么復制其中一頁,沒有找到記錄!“;
}
}
?>
</body>
</html>
程序開始變得復雜了,所以我在這里面加了注釋,來解釋一下到底發(fā)生了什么pdf怎么復制其中一頁。您可以用//加入單行注釋,或者用/*和*/來括住大段的注釋。
到這里,我們已經(jīng)學會了第一個真正有用的PHP/MySQL腳本程序!現(xiàn)在,我們要看看怎樣把Web表格加進來,并且向數(shù)據(jù)庫發(fā)送數(shù)據(jù)pdf怎么復制其中一頁。
PHP/MySQL教程(四)
--------------------------------------------------------------------------------
四、 向服務器發(fā)送數(shù)據(jù)
現(xiàn)在我們從數(shù)據(jù)庫讀取數(shù)據(jù)已經(jīng)沒有太多困難了pdf怎么復制其中一頁。但是怎么反過來向數(shù)據(jù)庫發(fā)送數(shù)據(jù)呢?其實這不是PHP的問題。
首選,我們創(chuàng)建一個帶有簡單表格的網(wǎng)頁pdf怎么復制其中一頁。
<>
<>
< method=“post“ action=“<?php echo $PATH_INFO?>“>
名:< type=“Text“ name=“first“><>
姓:< type=“Text“ name=“l(fā)ast“><>
住址:< type=“Text“ name=“address“><>
職位:< type=“Text“ name=“position“><>
< type=“Submit“ name=“submit“ value=“輸入信息“>
</form>
</body>
</html>
同樣要注意$PATH_INFO的用法pdf怎么復制其中一頁。就象我在第一課里講到的,您可以在HTML代碼中的任意位置使用PHP。您也會注意到,表格中的每一個元素都對應著數(shù)據(jù)庫中的一個字段。這種對應關系并不是必須的,這么做只是更直觀一些,便于您以后理解這些代碼。
還要注意的是,我在Submit按鈕中加入了name屬性pdf怎么復制其中一頁。這樣我在程序中可以試探$submit變量是否存在。于是,當網(wǎng)頁被再次調(diào)用時,我就會知道調(diào)用頁面時是否已經(jīng)填寫了表格。
我應該指出,您不一定要把上面的網(wǎng)頁內(nèi)容寫到PHP程序中,再返過來調(diào)用程序本身pdf怎么復制其中一頁。您完全可以把顯示表格的網(wǎng)頁和處理表格的程序分開放在兩個網(wǎng)頁、三個網(wǎng)頁甚至更多網(wǎng)頁中,悉聽尊便。放在一個文件中只是可以使內(nèi)容更加緊湊而已。
那好,我們現(xiàn)在加入一些代碼,來檢查用戶在表格中輸入的內(nèi)容pdf怎么復制其中一頁。我會把用$。
<>
<>
<?php
if ($submit) {
// 處理表格輸入
while (list($name, $value) = each($)) {
echo “$name = $value<>\n“;
}
} else{
// 顯示表格
?>
< method=“post“ action=“<?php echo $PATH_INFO?>“>
名:< type=“Text“ name=“first“><>
姓:< type=“Text“ name=“l(fā)ast“><>
住址:< type=“Text“ name=“address“><>
職位:< type=“Text“ name=“position“><>
< type=“Submit“ name=“submit“ value=“輸入信息“>
</form>
<?php
} // end ifpdf怎么復制其中一頁,if結(jié)束
?>
</body>
</html>
程序現(xiàn)在運行正常,那我們現(xiàn)在就可以取到表格輸入的內(nèi)容,并把它們發(fā)送給數(shù)據(jù)庫pdf怎么復制其中一頁。
<>
<>
<?php
if ($submit) {
// 處理表格輸入
$db = mysql_connect(“l(fā)ocalhost“, “root“);
mysql_select_db(“mydb“,$db);
$sql = “INSERT INTO employees (first,last,address,position)
VALUES (’$first’,’$last’,’$address’,’$position’)“;
$result = mysql_query($sql);
echo “Thank you! Information entered.\n“;
} else{
// 顯示表格內(nèi)容
?>
< method=“post“ action=“<?php echo $PATH_INFO?>“>
名:< type=“Text“ name=“first“><>
姓:< type=“Text“ name=“l(fā)ast“><>
住址:< type=“Text“ name=“address“><>
職位:< type=“Text“ name=“position“><>
< type=“Submit“ name=“submit“ value=“輸入信息“>
</form>
<?php
} // end ifpdf怎么復制其中一頁,if結(jié)束
?>
</body>
</html>
您現(xiàn)在已經(jīng)向數(shù)據(jù)庫中插入數(shù)據(jù)了pdf怎么復制其中一頁。不過還有很多完善的工作要做。如果用戶沒有填寫某一欄怎么辦?在需要填入數(shù)字的地方填了文字怎么辦?或者填錯了怎么辦?別擔心。我們一步一步來。
PHP/MySQL教程(五)
--------------------------------------------------------------------------------
五、修改數(shù)據(jù)
在個教程中,我都把要執(zhí)行的SQL語句放到一個變量($sql)中,然后才用mysql_query()來執(zhí)行數(shù)據(jù)庫查詢pdf怎么復制其中一頁。在調(diào)試時這是很有用的。如果程序出了什么問題,您隨時可以把SQL語句的內(nèi)容顯示出來,檢查其中的語法錯誤。
我們已經(jīng)學習了如何把數(shù)據(jù)插入到數(shù)據(jù)庫中pdf怎么復制其中一頁。現(xiàn)在我們來學習如何修改數(shù)據(jù)庫中已有的記錄。數(shù)據(jù)的編輯包括兩部分:數(shù)據(jù)顯示和通過表格輸入把數(shù)據(jù)返回給數(shù)據(jù)庫,這兩部分我們前面都已經(jīng)講到了。然而,數(shù)據(jù)編輯還是有一點點不同,我們必須先在表格中顯示出相關的數(shù)據(jù)。
首先,我們回過頭再看看第一課的程序代碼,在網(wǎng)頁中顯示員工姓名pdf怎么復制其中一頁。但是這次,我們要把數(shù)據(jù)顯示在表格中。程序看起來象下面這樣:
<>
<>
<?php
$db = mysql_connect(“l(fā)ocalhost“, “root“);
mysql_select_db(“mydb“,$db);
if ($id) {
// 查詢數(shù)據(jù)庫
$sql = “SELECT * FROM employees WHERE id=$id“;
$result = mysql_query($sql);
$myrow = mysql_fetch_array($result);
?>
< method=“post“ action=“<?php echo $PATH_INFO?>“>
< type=hidden name=“id“ value=“<?php echo $myrow[“id“] ?>“>
名:< type=“Text“ name=“first“ value=“<?php echo
$myrow[“first“] ?>“><>
姓:< type=“Text“ name=“l(fā)ast“ value=“<?php echo
$myrow[“l(fā)ast“] ?>“><>
住址:< type=“Text“ name=“address“ value=“<?php echo
$myrow[“address“] ?>“><>
職位:< type=“Text“ name=“position“ value=“<?php echo
$myrow[“position“] ?>“><>
< type=“Submit“ name=“submit“ value=“輸入信息“>
</form>
<?php
} else {
// 顯示員工列表
$result = mysql_query(“SELECT * FROM employees“,$db);
while ($myrow = mysql_fetch_array($result)) {
printf(“< href=\“%s?id=%s\“>%s %s</a><>\n“, $PATH_INFO,
$myrow[“id“], $myrow[“first“], $myrow[“l(fā)ast“]);
}
}
?>
</body>
</html>
我們剛才是把字段內(nèi)容寫入到相應表格元素中的value屬性里,這是相應簡單的pdf怎么復制其中一頁。我們再往前進一步,使程序可以把用戶修改過的內(nèi)容寫回數(shù)據(jù)庫去。同樣,我們通過Submit按鈕來判斷是否處理表格輸入內(nèi)容。還要注意,我們用的SQL語句稍稍有些不同。
<>
<>
<?php
$db = mysql_connect(“l(fā)ocalhost“, “root“);
mysql_select_db(“mydb“,$db);
if ($id) {
if ($submit) {
$sql = “UPDATE employees SET first=’$first’,last=’$last’,
address=’$address’,position=’$position’ WHERE id=$id“;
$result = mysql_query($sql);
echo “謝謝pdf怎么復制其中一頁!數(shù)據(jù)更改完成\n“;
} else {
// 查詢數(shù)據(jù)庫
$sql = “SELECT * FROM employees WHERE id=$id“;
$result = mysql_query($sql);
$myrow = mysql_fetch_array($result);
?>
< method=“post“ action=“<?php echo $PATH_INFO?>“>
< type=hidden name=“id“ value=“<?php echo $myrow[“id“] ?>“>
名:< type=“Text“ name=“first“ value=“<?php
echo $myrow[“first“] ?>“><>
姓:< type=“Text“ name=“l(fā)ast“ value=“<?php echo
$myrow[“l(fā)ast“] ?>“><>
住址:< type=“Text“ name=“address“ value=“<?php echo
$myrow[“address“] ?>“><>
職位:< type=“Text“ name=“position“ value=“<?php echo
$myrow[“position“] ?>“><>
< type=“Submit“ name=“submit“ value=“輸入信息“>
</form>
<?php
}
} else {
// 顯示員工列表
$result = mysql_query(“SELECT * FROM employees“,$db);
while ($myrow = mysql_fetch_array($result)) {
printf(“< href=\“%s?id=%s\“>%s %s</a><>\n“, $PATH_INFO,
$myrow[“id“], $myrow[“first“], $myrow[“l(fā)ast“]);
}
}
?>
</body>
</html>
就是這樣pdf怎么復制其中一頁。在這個程序中已經(jīng)包含了我們學過所大多數(shù)特性。您也已經(jīng)看到,我們在一個if()條件判別語句中又加了一個if()語句,來檢查多重條件。
下面,我們要把所有東西全都加在一起,寫出一個很好的程序來pdf怎么復制其中一頁。
PHP/MySQL教程(六)
--------------------------------------------------------------------------------
六、完整的程序
在本課結(jié)束前,我們要把所有東西加入到一個程序中,使它具有增加、編輯修改、刪除記錄的功能pdf怎么復制其中一頁。這是前面所有內(nèi)容的一個延伸,也可以作為極好的復習方法。看看下面的程序。
<>
<>
<?php
$db = mysql_connect(“l(fā)ocalhost“, “root“);
mysql_select_db(“mydb“,$db);
if ($submit) {
// 如果沒有IDpdf怎么復制其中一頁,則我們是在增加記錄,否則我們是在修改記錄
if ($id) {
$sql = “UPDATE employees SET first=’$first’,last=’$last’,
address=’$address’,position=’$position’ WHERE id=$id“;
} else {
$sql = “INSERT INTO employees (first,last,address,position)
VALUES (’$first’,’$last’,’$address’,’$position’)“;
}
// 向數(shù)據(jù)庫發(fā)出SQL命令
$result = mysql_query($sql);
echo “記錄修改成功pdf怎么復制其中一頁!<>“;
} elseif ($delete) {
// 刪除一條記錄
$sql = “DELETE FROM employees WHERE id=$id“;
$result = mysql_query($sql);
echo “記錄刪除成功pdf怎么復制其中一頁!<>“;
} else {
// 如果我們還沒有按submit按鈕pdf怎么復制其中一頁,那么執(zhí)行下面這部分程序
if (!$id) {
// 如果不是修改狀態(tài)pdf怎么復制其中一頁,則顯示員工列表
$result = mysql_query(“SELECT * FROM employees“,$db);
while ($myrow = mysql_fetch_array($result)) {
printf(“< href=\“%s?id=%s\“>%s %s</a> \n“,
$PATH_INFO, $myrow[“id“], $myrow[“first“], $myrow[“l(fā)ast“]);
printf(“< href=\“%s?id=%s&delete=yes\“>(DELETE)</a><
br>“, $PATH_INFO, $myrow[“id“]);
}
}
?>
<>
< href=“<?php echo $PATH_INFO?>“> A RECORD</a>
<>
< method=“post“ action=“<?php echo $PATH_INFO?>“>
<?php
if ($id) {
// 我們是在編輯修改狀態(tài)pdf怎么復制其中一頁,因些選擇一條記錄
$sql = “SELECT * FROM employees WHERE id=$id“;
$result = mysql_query($sql);
$myrow = mysql_fetch_array($result);
$id = $myrow[“id“];
$first = $myrow[“first“];
$last = $myrow[“l(fā)ast“];
$address = $myrow[“address“];
$position = $myrow[“position“];
// 顯示idpdf怎么復制其中一頁,供用戶編輯修改
?>
< type=hidden name=“id“ value=“<?php echo $id ?>“>
<?php
}
?>
名:< type=“Text“ name=“first“ value=“<?php echo $first ?>“><>
姓:< type=“Text“ name=“l(fā)ast“ value=“<?php echo $last ?>“><>
住址:< type=“Text“ name=“address“ value=“<?php echo $address ?>“><>
職位:< type=“Text“ name=“position“ value=“<?php echo $position ?>“><>
< type=“Submit“ name=“submit“ value=“輸入信息“>
</form>
<?php
}
?>
</body>
<`/html>
這段程序看起來很復雜,但實際上并不難pdf怎么復制其中一頁。程序主要有三個部分。第一個if()語句檢查我們是否已經(jīng)按下了那個“輸入信息”的數(shù)據(jù)提交按鈕。如果是,程序再檢查$id是否存在。如果不存在,那我們就是在增加記錄狀態(tài),否則,我們是在修改記錄狀態(tài)。
接下來我們檢查變量$delete是否存在pdf怎么復制其中一頁。如果存在,我們是要刪除記錄。注意,第一個if()語句檢查的是用POST方法發(fā)送來的變量,而這一次我們檢查的是GET方法中傳遞過來的變量。
最后,程序默認的動作是顯示員工列表和表格pdf怎么復制其中一頁。同樣,我們要檢查變量$id是否存在。如果存在,我們就根據(jù)它的值檢索出相應的記錄顯示出來。否則,我們會顯示一個空的表格。
現(xiàn)在,我們已經(jīng)把所學的東西全部都放在一個程序里頭了pdf怎么復制其中一頁。我們用到了while()循環(huán),用到了if()語句,并且執(zhí)行了全部的SQL基本操作 - SELECT、INSERT、UPDATE以及DELETE。另外,我們也知道如何在不同的網(wǎng)頁之間通過URL和表格輸入來互相傳遞信息。
在第下一課里,我們要學習如何為網(wǎng)頁增加智能化處理能力pdf怎么復制其中一頁。
PHP/MySQL教程(七)
--------------------------------------------------------------------------------
一、基本函數(shù)
歡迎來到本教程的第七課pdf怎么復制其中一頁。如果您已經(jīng)學過前面的內(nèi)容,那么您已經(jīng)掌握了MySQL和PHP的安裝及編程的基本知識。下面我們要介紹PHP的一些其他函數(shù),這些函數(shù)可能會對您有用,使您的開發(fā)過程更加簡單。首先我們來看看頭文件。
大家應該知道頭文件的一些基本概念吧?頭文件是一個外部文件,它的內(nèi)容被包含到主程序中pdf怎么復制其中一頁。方法也十分簡單:在程序文件中引用頭文件名,這個頭文件就會包含進來了。在PHP中使用頭文件,會涉及兩個函數(shù):include()和require()。這兩個函數(shù)差別很小,卻很重要,所以我們要認真研究一下。require()函數(shù)工作方式與XSSI相類似;不管在程序的哪個部分使用了這個函數(shù),只有程序一開始運行,頭文件的內(nèi)容就被作為程序本身的一部分來處理。因此,如果您在一個條件判定語句中使用了require()函數(shù),那么即使這個條件即使不為真,頭文件也會被包含進來。
而include()函數(shù)只是在執(zhí)行到這一條語句時才會把頭文件內(nèi)容包含進來pdf怎么復制其中一頁。如果程序沒運行到這里,那PHP是不會管它的。這就意味著,您在條件判定部分使用include時,它會完全按照您希望的那樣工作。
還有,如果您用了require()函數(shù),而您指定的頭文件并不存在,那么程序?qū)V惯\行并產(chǎn)生錯誤pdf怎么復制其中一頁。如果您用了include(),程序會產(chǎn)生一個警告信息,但是會繼續(xù)運行。您可以親自試一下,運行下面的程序,然后把include()換成require(),再比較兩個程序運行的結(jié)果。
<>
<>
<?php
include(“emptyfile.inc“);
echo “Hello World“;
?>
</body>
</html>
我喜歡把頭文件的后綴名起成.inc,這樣就可以把頭文件和一般的程序區(qū)分開來pdf怎么復制其中一頁。如果您也這么做,那么請您修改Web服務器軟件的配置文件,使它能夠把.inc文件也當作PHP文件來處理。否則,黑客們也許會猜到您的頭文件名,然后用瀏覽器把頭文件內(nèi)容以純文本格式顯示出來。此時如果您的頭文件中有些機密信息(如數(shù)據(jù)庫口令等)那就糟糕了。
那么,您用頭文件來做什么呢?很簡單!把對所有程序都通用的那些內(nèi)容放到頭文件里pdf怎么復制其中一頁。象HTML文件頭啦,腳注啦,數(shù)據(jù)庫連接代碼啦,還有您自己定義的一些函數(shù)什么的。把下面的文字拷貝到一個文件中,保存為header.inc。
<?php
$db = mysql_connect(“l(fā)ocalhost“, “root“);
mysql_select_db(“mydb“,$db);
?>
<>
<>
<>
<?php echo $title ?>
</title>
</head>
<>
<><><?php echo $title ?></h2></center>
然后再創(chuàng)建另外一個文件,名字是footer.txt,該文件可以包含一些程序結(jié)束時用到的一些文字和標記pdf怎么復制其中一頁。
現(xiàn)在,我們再來創(chuàng)建一個文件,這個文件里面是真正的PHP程序代碼pdf怎么復制其中一頁。試一下下面的代碼,當然,您要確認MySQL數(shù)據(jù)庫服務器正在運行。
<?php
$title = “Hello World“;
include(“header.inc“);
$result = mysql_query(“SELECT * FROM employees“,$db);
echo “< border=1>\n“;
echo “<><>名字</td><>職位</tr>\n“;
while ($myrow = mysql_fetch_row($result)) {
printf(“<><>%s %s</td><>%s</tr>\n“, $myrow[1], $myrow[2], $myrow[3]);
}
echo “</table>\n“;
include(“footer.inc“);
?>
看到發(fā)生了什么事了嗎?頭文件里的內(nèi)容被合并到程序中,PHP把所有的代碼都執(zhí)行了一遍pdf怎么復制其中一頁。注意在包含header.inc頭文件之前$title是如何定義的。在header.inc中的代碼可以訪問到它的值。這樣,網(wǎng)頁的標題就被改掉了。現(xiàn)在,您可以在任何程序中使用header.inc頭文件了,您所要做的不過是在每個主程序中為$title變量取一個合適的值。
頭文件、HTML、條件判定語句,還有循環(huán)語句,這些東西加在一些,您就可以用最簡練的代碼,寫出功能各異的各種復雜程序來pdf怎么復制其中一頁。在與函數(shù)同時使用時,頭文件更能發(fā)揮它的效力,我們后面就會看到。
接下去,我們會介紹精彩的部分:數(shù)據(jù)校驗pdf怎么復制其中一頁。
二、 數(shù)據(jù)校驗
想象一下這樣的情形:我們把數(shù)據(jù)庫都設計妥當了,現(xiàn)在請用戶輸入信息來寫到數(shù)據(jù)庫中去pdf怎么復制其中一頁。假設您有一個字段是要求數(shù)字類型的信息,比如價格;而某個可愛的用戶,卻在這一欄里輸入了文字信息,使得您的應用程序的執(zhí)行過程出現(xiàn)了故障。對您在SQL語句中提供的文字類型的數(shù)據(jù),MySQL數(shù)據(jù)庫拒不接受,并向您提出了“嚴正抗議”。
怎么辦呢?您要用數(shù)據(jù)校驗來防止以上狀況發(fā)生pdf怎么復制其中一頁。
簡單地講,數(shù)據(jù)校驗是指我們對數(shù)據(jù)(通常是用戶經(jīng)由HTML表格傳過來的)進行檢查,看看它是否遵從一定的規(guī)則pdf怎么復制其中一頁。規(guī)則可以是多種多樣的,比如某一數(shù)據(jù)元素不能為空,或者要求某一數(shù)據(jù)項的內(nèi)容必須滿足一定的要求(例如前面的例子中要求必須是數(shù)字而不是文字,或者要求電子郵件地址中一定要包含一個“@”字等等)。
數(shù)據(jù)校驗既可以在服務器一端作,也可以在客戶端來作pdf怎么復制其中一頁。PHP是用來作服務器一端的數(shù)據(jù)校驗的,而JavaScript或其他客戶端腳本編程語言則能夠提供客戶端的數(shù)據(jù)校驗功能。本文說的是PHP,所以我們在這里著重介紹服務器端的校驗。如果您想找一些現(xiàn)成的、在客戶端運行的數(shù)據(jù)較驗程序,那您可以去網(wǎng)猴程序庫看看。
暫時把數(shù)據(jù)庫放在一邊不談,我們先來說說PHP的數(shù)據(jù)校驗方法pdf怎么復制其中一頁。如果您愿意(或者說,您想記錄我們要校驗的那些數(shù)據(jù)的話),您可以在前面所建的員工數(shù)據(jù)庫的里加入其他字段,很簡單,用MySQL的ALTER 語句就行了。
有好幾個PHP功能都可以用來作數(shù)據(jù)校驗的工作,有些很簡單,有些則復雜一些pdf怎么復制其中一頁。其中strlen()是比較簡單的一個函數(shù),它能夠告訴我們一個變量的長度。
更復雜一點兒的是ereg(),這個函數(shù)可以處理完整的常規(guī)表達式來進行復雜的校驗pdf怎么復制其中一頁。我不想就常規(guī)表達式講得太深,因為許多書都是專門寫這個問題的。不過我會在下一頁中給出一些簡單的例子。
我們先從一個簡單的例子開始吧pdf怎么復制其中一頁。下面這個程序要檢查一個變量是否存在。
<>
<>
<?php
if ($submit) {
if (!$first || !$last) {
$error = “對不起pdf怎么復制其中一頁,您必須填寫所有的欄目!“;
} else {
// 處理表格輸入內(nèi)容
echo “謝謝pdf怎么復制其中一頁!“;
}
}
if (!$submit || $error) {
echo $error;
?>
<>
< method=“post“ action=“<?php echo $PHP_SELF ?>“>
第一欄: < type=“text“ name=“名“ value=“<?php echo $first ?>“><>
第二欄: < type=“text“ name=“姓“ value=“<?php echo $last ?>“><>
< type=“Submit“ name=“submit“ value=“輸入信息“>
</form>
<?php
} // if結(jié)束
?>
</body>
</html>
這段程序中關鍵的地方是嵌套的條件判定語句pdf怎么復制其中一頁。第一層檢查用戶是否按了發(fā)送數(shù)據(jù)的按鈕。如果是,程序接著檢查$first和$last兩個變量是否都存在。那個 || 符號表示“或”,而 ! 符號表示“非”。那一句程序用一般語言描述就是“如果$first不存在或者$last不存在,那么就把 $error變量置成下面的值。”
接下來,我們再進一步,檢查一段文字的長度pdf怎么復制其中一頁。這對用戶口令的檢查是很有必要的,因為您不想讓某些懶惰的用戶輸入只有一、兩個字的口令,可能會要求他們輸入六位長的口令。
我們已經(jīng)講到strlen()這個函數(shù)了pdf怎么復制其中一頁。它只是簡單地返回一個數(shù)字,該數(shù)字等于被測變量中所包含的字符個數(shù)。這里,我修改一下上面的程序,檢查一下$first與$last的長度。
<>
<>
<?php
if ($submit) {
if (strlen($first) < 6 || strlen($last) < 6) {
$error = “對不起pdf怎么復制其中一頁,您必須填寫所有欄目!“;
} else {
// 處理表格輸入內(nèi)容
echo “謝謝pdf怎么復制其中一頁!“;
}
}
if (!$submit || $error) {
echo $error;
?>
<>
< method=“post“ action=“<?php echo $PHP_SELF ?>“>
第一欄: < type=“text“ name=“名“ value=“<?php echo $first ?>“><>
第二欄: < type=“text“ name=“姓“ value=“<?php echo $last ?>“><>
< type=“Submit“ name=“submit“ value=“輸入信息“>
</form>
<?php
} // if結(jié)束
?>
</body>
</html>
您可以執(zhí)行一下這段程序,輸入六個字或少于六個字的內(nèi)容pdf怎么復制其中一頁。這種校驗很簡單,但很有效。
__________________
PHP/MySQL教程(八)
--------------------------------------------------------------------------------
三、 處理常規(guī)表達式
我們稍微講講用ereg()和eregi()兩個函數(shù)處理常規(guī)表達式pdf怎么復制其中一頁。前面我已經(jīng)提過,這些函數(shù)有的很簡單,有的很復雜,看您的實際需要而定。
使用常規(guī)表達式,您可以對一個字符串進行檢查,搜索其中的一些結(jié)構(gòu)模式,判定這些模式是否滿足您的規(guī)定pdf怎么復制其中一頁。最普遍的用法包括檢查電子郵件地址是否有效(當然,即使這種辦法判定有效,也不能保證郵件地址真的存在)。
我們在這里不細究常規(guī)表達式的復雜細節(jié)了,僅僅給出幾個實例pdf怎么復制其中一頁。您可以使用上一頁中用過的表格 - 把相應的程序代碼復制過來,添加到下面的代碼段中,就可以看到它是怎樣工作的。
首先,我們要確保表格中各欄只能輸入字母pdf怎么復制其中一頁。下面的常規(guī)表達式在用戶輸入一個或多個小寫字母時判定為真,而輸入數(shù)字是不允許的:
if (!ereg(“[a-Z]“, $first) || !ereg(“[a-Z]“, $last)) {
現(xiàn)在我們更進一步,檢查字符串的長度是否是四到六位字符長pdf怎么復制其中一頁。用[[:alpha:]]是檢查字符是不是字母的簡單方式。大括號內(nèi)的數(shù)字檢查字符個數(shù)。還要說明的是,^ 和 $ 分別代表字符串的開始和結(jié)束。
if (!ereg(“^[[:alpha:]]{4,6}$“, $first) || !ereg(“^[[:alpha:]]{4,6}$“, $last)) {
最后,我們來構(gòu)造一個常規(guī)表達式,來檢驗電子郵件地址的有效性pdf怎么復制其中一頁。這種檢驗方式的效果已經(jīng)引發(fā)了相當多的討論。沒有什么東西是十全十美的,不過我下面給出的這段程序還是十分奏效的。
if (!ereg(’^[-!#$%&’*+\\./0-9=?A-Z^_`a-z{|}~]+’.
’@’.
’[-!#$%&’*+\\/0-9=?A-Z^_`a-z{|}~]+\.’.
’[-!#$%&’*+\\./0-9=?A-Z^_`a-z{|}~]+$’, $last)) {
別花太多時間來細究這段代碼了,還是先到下一頁內(nèi)容吧pdf怎么復制其中一頁。
四、 簡便方法
前面的常規(guī)表達式怎么樣?很有意思,是吧?要是在每個需要檢查電子郵件地址的程序里都寫上這么一段程序,那才真叫有意思呢?!想想看吧,得寫那么亂七八糟的一段程序,還得寫上那么多遍!...不過,當然了,還有更簡便的方法pdf怎么復制其中一頁。
還記得前面我們學過的頭文件嗎?它能讓我們寫一段程序,象是這個電子郵件地址的檢查程序,然后把這段程序包含進多個程序里面去pdf怎么復制其中一頁。這樣,我們要改寫這段程序時,只須改動一處就行了,不用修改多個文件。
但是,要做到這一點,我們必須用到函數(shù)pdf怎么復制其中一頁。
我們已經(jīng)用過很多次函數(shù)了pdf怎么復制其中一頁。每次我們查詢數(shù)據(jù)庫或檢查字符串長度時,我們都是用函數(shù)來做的。這些函數(shù)是PHP自帶的。如果您是位熱心的程序員,您可以用自己編寫的函數(shù)來擴充PHP本身的功能。但對本教程而言,這部分內(nèi)容是太過高深了一點。我們要創(chuàng)建的函數(shù)不是那一種,而是寫在PHP腳本程序內(nèi)部的函數(shù)。
函數(shù)就是一段程序代碼,我們可以把一個或多個值傳給這段代碼,然后這段代碼會處理我們傳給它的數(shù)據(jù)并返回一個值pdf怎么復制其中一頁。根據(jù)實際需要,函數(shù)可以很簡單,也可以十分復雜。但是只要我們傳進去一個數(shù),然后能得到一個數(shù),您管它里面有是復雜還是簡單呢!這就是函數(shù)的可愛之處。
PHP里的函數(shù)與C語言里的函數(shù)表現(xiàn)差不多pdf怎么復制其中一頁。當我們定義函數(shù)時,必須指明函數(shù)需要接收什么樣的數(shù)據(jù)。一開始好象不太好理解為什么它要接收數(shù)據(jù)進去,不過這樣可以防止發(fā)生一些怪異的問題。函數(shù)之所以能做到這一點,是因為函數(shù)里面的變量都是私有變量,也就是說,它只在該函數(shù)內(nèi)部存在。例如,您在程序中有一個變量叫$myname,如果您創(chuàng)建了一個函數(shù),想讓這個函數(shù)也使用那個$myname變量(值也相同),那是不行的。您可以在函數(shù)內(nèi)部創(chuàng)建一個變量,名字也叫$myname,這兩個變量可以各平相處,而各自取不同的值。不過我可不建議您這么做!您如果真的這么做了,等半年后您再來修改這樣的程序時,您可能就會被弄糊涂了。
那我們現(xiàn)在就來創(chuàng)建一個函數(shù),先來個簡單的pdf怎么復制其中一頁。我們要給它取個名字,指定它要接收什么的變量。在調(diào)用這個函數(shù)之前,我們還得定義這個函數(shù)。
<>
<>
<?php
function addnum($first, $second) {
$newnum = $first + $second;
return $newnum;
}
echo addnum(4,5);
?>
</body>
</html>
這就行了!首先,我們創(chuàng)建了第一個自己的函數(shù)pdf怎么復制其中一頁。我們定義了兩個新變量,$first和$second,注意它們是怎樣被定義的。在調(diào)用這個函數(shù)時,要給這兩個變量按它們出現(xiàn)的順序賦好值 - 4賦給$first,5賦給$second。然后我們簡單地把這兩個數(shù)加在一起,返回結(jié)果。“返回”在這里的意思是把結(jié)果送回去。在程序最后部分我們把數(shù)字9顯示出來。
我們再來創(chuàng)建一個函數(shù),讓它對我們的數(shù)據(jù)庫應用有點幫助pdf怎么復制其中一頁。一個能妥善處理錯誤的函數(shù)怎么樣?試試下面的程序:
<>
<>
<?php
function do_error($error) {
echo “噢pdf怎么復制其中一頁,好象有點兒問題...<>“;
echo “系統(tǒng)報告的錯誤是:$error.\n<>“;
echo “最好是暫時關閉網(wǎng)站并通知系統(tǒng)管理員pdf怎么復制其中一頁。“;
die;
}
if (!$db = @mysql_connect(“l(fā)ocalhost“,“user“, “password“)) {
$db_error = “無法連接到MySQL數(shù)據(jù)庫“;
do_error($db_error);
}
?>
</body>
</html>
在運行程序之前,試試關閉MySQL數(shù)據(jù)庫,或使用錯誤的用戶名或口令pdf怎么復制其中一頁。您會看到友好的、有用的錯誤信息。細心的朋友會注意到在mysql_connect()函數(shù)之前的那個@符號。它會抑制系統(tǒng)錯誤信息,使得程序只能從do_error()函數(shù)那里得到有關的錯誤信息。您還會注意到,我們可以把一個在別處定義的變量作為參數(shù)傳給函數(shù),而不是在調(diào)用時直接賦一個值。
還記得我過函數(shù)使用的是私有變量吧?這話說得不完全對pdf怎么復制其中一頁。事實上,您可以讓函數(shù)訪問到函數(shù)外面的變量。您可能要寫一個函數(shù),用它來查詢數(shù)據(jù)庫,然后把結(jié)果顯示在多個網(wǎng)頁中。您不想每次都把數(shù)據(jù)庫連接標識都傳給函數(shù)。在這種情況下,您可以把連接標識定義成一個全局的變量。例如:
<>
<>
<?php
function db_query($sql) {
global $db;
$result = mysql_query($sql,$db);
return $result;
}
$sql = “SELECT * FROM mytable“;
$result = db_query($sql);
?>
</body>
</html>
這是個很簡單的函數(shù),但重要的是,您在調(diào)用這個函數(shù)時,不必傳遞$db變量 - 您可以通過 global這個字使得函數(shù)可以訪問到該變量pdf怎么復制其中一頁。在這條語句中您可以定義多個全局變量,各個全局變量之間用逗號隔開。
最后,您可以使用可選參數(shù),這樣看起來您已經(jīng)是真正的專家了pdf怎么復制其中一頁。這里面關鍵的一點是,在函數(shù)中定義參數(shù)時要給它指定一個缺省值。然后您在調(diào)用這個函數(shù)時,如果不為該參數(shù)變量指定其他值,那么函數(shù)會自動把缺省值賦給這個變量。如果您指定了其他值,那么缺省值就不起作用了。
不太明白?比方說,您在連接數(shù)據(jù)庫時,幾乎總是連接到相同的服務器,并且使用相同的用戶名和口令pdf怎么復制其中一頁。不過有時候,您也需要連接到其他的服務器。看看下面的程序:
<>
<>
<?php
function db_connect($host = “l(fā)ocalhost“, $user=“username“, $pass=“graeme“) {
$db = mysql_connect($host, $username, $password);
return $db;
}
$old_db = db_connect();
$new_host = “site.com“;
$new_db = db_connect($new_host);
?>
</body>
</html>
很“酷”是不是?在定義函數(shù)時,函數(shù)內(nèi)部用到的變量也定義好了pdf怎么復制其中一頁。第一次調(diào)用這個函數(shù)時,全部參數(shù)變量都是用的缺省值。第二次調(diào)用時,服務器名變了,而用戶名和口令沒有變。真是太棒了!
想想您在什么地方還能用到函數(shù)pdf怎么復制其中一頁。您可以用函數(shù)來作數(shù)據(jù)校驗,來完成常用的功能,等等。在對Web網(wǎng)頁上顯示的文字作處理時,我用到了很多函數(shù)。我可以一次完成對文字的檢查、解析和修改,來加入換行符和HTML標記等。
現(xiàn)在,剩下的就是我要給您的一些忠告了pdf怎么復制其中一頁。
五、進階技巧
談起數(shù)據(jù)庫開發(fā),我們有很多東西要學pdf怎么復制其中一頁。如果您還沒有學習過怎樣進行數(shù)據(jù)庫設計,和怎樣在不同的平臺上可靠地運行數(shù)據(jù)庫,那么請您趕快去找本這方面的好書來讀一讀。這方面的能力會帶給您無法估量的好處,從長遠的眼光看,它會為您節(jié)省大量的時間與精力。還有,認真學學MySQL。這是一個復雜而有趣的數(shù)據(jù)庫,有很多不錯的文檔。學學數(shù)據(jù)庫的表結(jié)構(gòu)、數(shù)據(jù)類型,還有SQL。如果您真正掌握了SQL,您可以完成相當多的實際工作。
最后,還有PHPpdf怎么復制其中一頁。您想要的一切幾乎都可以在PHP的網(wǎng)站上找到,包括全面的文檔、郵件討論組的討論內(nèi)容、程序代碼庫,等等。學習PHP的一個絕好的辦法是研究用戶手冊中給出的實例,并查閱網(wǎng)上的代碼。網(wǎng)友們發(fā)表的代碼包括許多函數(shù)和類,您可以在自己的程序中直接使用,而不必自己從頭來過。另外,如果您遇到問題,郵件討論組是一個非常值得利用的資源。PHP的開發(fā)人員自己也會參加郵件討論組,還有許多經(jīng)驗豐富的高手們,他們都可以幫助您解決問題。
祝您編程順利pdf怎么復制其中一頁,一切順利!
返回頁首
顯示以前的主題: 所有主題1 天內(nèi)7 天內(nèi)2 個星期內(nèi)1 個月內(nèi)3 個月內(nèi)6 個月內(nèi)1 年內(nèi) 最舊的主題最新的主題
首頁 -> 吉人巷精品區(qū) 論壇時間為 北京時間
第1頁/共1頁
訂閱本主題
轉(zhuǎn)跳到: 選擇一個版面 生于80----------------生于八零磚場論英雄 開拓者----------------程序交流動態(tài)網(wǎng)頁英語學習 精品專區(qū)----------------吉人巷精品區(qū) 站務討論----------------站務公告論壇建議
您可以發(fā)布新主題
您可以在這個論壇回復主題
您可以在這個論壇編輯自己的帖子
您可以在這個論壇刪除自己的帖子
您可以在這個論壇發(fā)表投票
您可以管理這個論壇
論壇管理員控制面板
Powered by phpBB 2.0.3 © 2001, 2002 phpBB Group
中文phpBB開發(fā)小組提供技術支持
021yin.com021yin.com021yin.com/s?__biz=MjM*MjAyNDUyMA==amp;mid=26*0**10*2amp;idx=2amp;sn=f*6**6*c06a*0848f20ea44**a6d8*a...
2023-03-15 135 0
一、橋梁pvc泄水管該產(chǎn)品具無味、防腐蝕、抗老化、耐侯性好等諸多特點,是以樹脂為主要原料,注塑或擠壓成型的塑料制品。二、具有抗沖擊強度高、力學性能高、韌性好、抗折能力強等優(yōu)點,減少了施工和使用中的瑣碎問題。三、外表美觀大方,內(nèi)壁光滑,摩...
2023-03-04 133 0
佛山畫冊印刷廠家,畫冊印刷公司為您提供畫冊印刷咨詢,畫冊印刷案例,畫冊印刷規(guī)格及畫冊印刷報價,讓您實時了解畫冊印刷廠家的最新規(guī)格及報價,并提供畫冊印刷時的注意事項,印刷出讓您滿意的畫冊印刷產(chǎn)品。
2023-01-14 168 0
上海小冊子印刷廠家,小冊子印刷公司為您提供小冊子印刷咨詢,小冊子印刷案例,小冊子印刷規(guī)格及小冊子印刷報價,讓您實時了解小冊子印刷廠家的最新規(guī)格及報價,并提供小冊子印刷時的注意事項,制作出讓您滿意的小冊子印刷產(chǎn)品。
2023-01-12 296 0
今日大雪,是二十四節(jié)氣中的第二十一個節(jié)氣,冬季的第三個節(jié)氣。仲冬時節(jié)由此正式起頭,降雪、封河、萬山積玉。澎湃新聞推出二十四節(jié)氣短視頻——大雪·呼倫貝爾丨尋鹿大興安嶺那個時節(jié),位于大興安嶺北段西坡的根河市,氣溫已降至零下*0℃。極寒的氣溫...
2022-12-16 194 0
上篇我們介紹了激光打印機會帶來的一些危害,那么今天我們來講一講如何減少激光打印機給大家?guī)淼奈:?,一起來看看吧。首先,盡量保持人與打印機之間的適當距離。如果條件允許,可以設置一個特殊的打印室。打印時,盡量不要靠近打印機,打印后再去取打印材...
2022-10-10 145 0
本文暫時沒有評論,來添加一個吧(●'?'●)