文章詳情頁(yè)
PHP 和 MySQL 基礎(chǔ)教程(一)
瀏覽:2日期:2024-02-28 18:30:23
HTML 和 PHP 、MySQL 的交互 為什么要用到數(shù)據(jù)庫(kù)? World Wide Web (WWW) 不僅僅是一個(gè)提供信息的地方。如果你有什么東西,作一個(gè)網(wǎng)站,同樣可以和全世界的人一起分享。但是,這并不是一件很容易的事。當(dāng)網(wǎng)站越做越大時(shí),你可能會(huì)遇到這樣的問(wèn)題: 網(wǎng)站包含了太多的東西,使得訪問(wèn)者不能夠很快得得到他們想要的東西。這個(gè)問(wèn)題在某種程度上對(duì)一個(gè)網(wǎng)站而言是致命的。 訪問(wèn)者想要向你提供信息,而且這些信息必須保存下來(lái)以備后用。 上面的兩個(gè)問(wèn)題,都可以通過(guò)數(shù)據(jù)庫(kù)來(lái)解決! 在 WWW 的世界中,數(shù)據(jù)庫(kù)無(wú)處不在。大如 Yahoo! , Amazon , eBay ,小到一個(gè)簡(jiǎn)單的留言板,都可以看到數(shù)據(jù)庫(kù)的用武之地。甚至可以說(shuō),數(shù)據(jù)庫(kù)是一切高級(jí)應(yīng)用的基礎(chǔ)。 為什么要用 PHP 和 MYSQL 就我所知,幾乎所有的主要的商業(yè)網(wǎng)站數(shù)據(jù)庫(kù)都是基于 SQL 的。其中最為流行的可能得算 Oracle 了。它很有威力,當(dāng)然,也價(jià)格不菲。 SQL 不是一個(gè)應(yīng)用程序,而是一種語(yǔ)言,它是 Structured Query Language (結(jié)構(gòu)化查詢語(yǔ)言)的簡(jiǎn)寫(xiě),用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作和查詢的。 在最近的幾年中,一些公司開(kāi)發(fā)出了“開(kāi)放代碼”的 SQL 應(yīng)用程序,其中最著名的可能算得上 MySQL 了。它不僅僅是免費(fèi)的,對(duì)于一般的中小型數(shù)據(jù)庫(kù)應(yīng)用,它的表現(xiàn)并不比 Oracle 遜色。 要在一個(gè)網(wǎng)站上運(yùn)行 MySQL ,你需要一種腳本語(yǔ)言來(lái)和數(shù)據(jù)庫(kù)進(jìn)行交互。在過(guò)去, Perl 是最流行的。但現(xiàn)在看起來(lái) PHP 似乎更為出色一些。不要問(wèn)我他們之間有什么區(qū)別 ?? 過(guò)去我用 Perl ,它也工作的很好,但是現(xiàn)在好像每個(gè)人都喜歡用 PHP 了。它的流行當(dāng)然有它的道理。 需要的軟件 這部分的內(nèi)容, ChinaByte 網(wǎng)絡(luò)學(xué)院前些時(shí)候的文章中已有介紹。讀者可以參考《為 win98 設(shè)置本地 PHP 開(kāi)發(fā)》一文。這兒不再詳細(xì)介紹。 HTML 和 PHP 作 者 : 揚(yáng)眉 編譯 本文點(diǎn)擊次數(shù):398 我們來(lái)看看 PHP 是如何工作的。看看下面的這段代碼: < html> < body> < ?php print "Hello, world."?> < /body> < /html> 當(dāng)請(qǐng)求這個(gè)頁(yè)面的時(shí)候,它將在瀏覽器中顯示“ Hello , world ”。 可以看到, PHP 腳本是嵌入在 HTML 文件中的。它以“ < ? ”開(kāi)始,以“ ?> ”結(jié)束。不僅如此,我們甚至還可以把 HTML 標(biāo)簽也嵌入在 PHP 腳本中: < ?php print "< html>"print "< body>"print "Hello, world."print "< /body>"print "< /html>"?> 兩種方法殊途同歸,效果是一樣的。但是在一些特別的情況下,選擇其中的一種要更為方便一些。 PHP 的 prints 語(yǔ)句 作 者 : 揚(yáng)眉 編譯 本文點(diǎn)擊次數(shù):398 PHP 和 HTML 最簡(jiǎn)單的交互是通過(guò) print 語(yǔ)句來(lái)實(shí)現(xiàn)的: < ?php print "Hello, world."?> print 是最為簡(jiǎn)單也使用的最多的函數(shù),用來(lái)把一些文本顯示在瀏覽器窗口中, echo 函數(shù)和 print 相類似,但是你可以用“,”號(hào)來(lái)分隔多個(gè)要顯示得內(nèi)容,這在混合字符串常量和變量的顯示時(shí)要方便一些。 還有一個(gè) printf 函數(shù),用來(lái)格式化數(shù)字的輸出。可以把一個(gè)數(shù)作為整數(shù),或者用科學(xué)計(jì)數(shù)法顯示出來(lái)。 在這幾個(gè)函數(shù)中,圓括號(hào)的使用與否是不同的: echo 一定不能帶有圓括號(hào) printf 卻一定要有 print 可有可無(wú) 要顯示一個(gè)字符串或者一個(gè)數(shù)字很簡(jiǎn)單,只要把變量名或者常量跟在 print 語(yǔ)句后面就可以了。但是,如果要顯示一個(gè)數(shù)組,是不是也是寫(xiě)成這樣呢: print $myarray; 它輸出的結(jié)果將是“ Array ”, PHP 告訴你 $myarray 是一個(gè)數(shù)組。這在你拿不準(zhǔn)一個(gè)變量是否是數(shù)組時(shí)會(huì)有一些用處,但是現(xiàn)在我們希望看到的是數(shù)組的內(nèi)容。 你可以用 implode 函數(shù)來(lái)把一個(gè)數(shù)組轉(zhuǎn)換成字符串。它包含兩個(gè)參數(shù),第一個(gè)是數(shù)組變量名,第二個(gè)是數(shù)組內(nèi)容的分隔符。當(dāng)轉(zhuǎn)換完成之后,數(shù)組的內(nèi)容被分隔符聯(lián)系起來(lái)形成一個(gè)字符串: $implodedarray = implode ($myarray, ", "); print $implodedarray; 還可以用 array_walk 函數(shù)來(lái)實(shí)現(xiàn)數(shù)組的顯示。這個(gè)函數(shù)對(duì)數(shù)組的每個(gè)內(nèi)容執(zhí)行同一個(gè)函數(shù)操作。例如: function printelement ($element) { print ("$element< p>"); } array_walk($myarray, "printelement"); PHP 如何向 MySQL 發(fā)送數(shù)據(jù) 作 者 : 揚(yáng)眉 編譯 本文點(diǎn)擊次數(shù):398 你應(yīng)該對(duì) HTML 表單比較了解了,下面的一段代碼是一個(gè)很簡(jiǎn)單的 HTML 表單: < html> < body> < form action=submitform.php3 method=GET> 姓 : < input type=text name=first_name size=25 maxlength=25> 名 : < input type=text name=last_name size=25 maxlength=25> < p> < input type=submit> < /form> < /body> < /html> 當(dāng)你輸入數(shù)據(jù),并按下 submit 按鈕后,這個(gè)表單將把數(shù)據(jù)發(fā)送到 submitform.php3 。再由這個(gè) PHP 腳本來(lái)處理收到的數(shù)據(jù),下面就是 submitform.php3 的代碼: < html> < body> < ?php mysql_connect (localhost, username, password); mysql_select_db (dbname); mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ('$first_name', '$last_name') "); print ($first_name); print (" "); print ($last_name); print ("< p>"); print (" 感謝填寫(xiě)注冊(cè)表 "); ?> < /body> < /html> 在代碼的第三行中的 "username" 和 "password" 分別代表你登陸 MySQL 數(shù)據(jù)庫(kù)的賬號(hào)和密碼。在第五行中的 "dbname" 表示 MySQL 數(shù)據(jù)庫(kù)的名稱。在第十三行中的 "tablename" 是數(shù)據(jù)庫(kù)中的一個(gè)數(shù)據(jù)表的名稱。 當(dāng)你按下 submit 之后,可以看到你輸入的名字被顯示在一個(gè)新的頁(yè)面中。再看一看瀏覽器的 URL 欄,它的內(nèi)容應(yīng)該是像這樣的: … /submitform.php3?first_name=Fred&last_name=Flintstone 因?yàn)槲覀冇玫降氖潜韱?GET 方法,因此數(shù)據(jù)是通過(guò) URL 來(lái)傳送到 submitform.php3 的。顯然, GET 方法是有局限性的,當(dāng)要傳遞的內(nèi)容很多時(shí),就不能用 GET 了,只能用 POST 方法。但不管用什么方法,當(dāng)數(shù)據(jù)傳送完成后, PHP 自動(dòng)的為每一個(gè)表單中的字段建立一個(gè)和他們的名字(表單的 name 屬性)相同的變量。 PHP 變量都已用一個(gè)美元符號(hào)開(kāi)頭的,這樣,在 submitform.php3 腳本處理的過(guò)程中,就會(huì)有 $first_name 和 $last_name 這兩個(gè)變量了,變量的內(nèi)容就是你輸入的內(nèi)容。 我們來(lái)檢查一下你輸入的名字是否真的被輸入到數(shù)據(jù)庫(kù)中了。啟動(dòng) MySQL, 在 mysql> 提示符下輸入: mysql> select * from tablename; 你應(yīng)該可以得到一個(gè)表,內(nèi)容就是你剛才輸入的了: +------------+------------+ | first_name | last_name | +------------+------------+ | 柳 | 如風(fēng) +------------+------------+ 1 rows in set (0.00 sec) 我們?cè)賮?lái)分析一下 submitform.php3 是如何工作的: 腳本的開(kāi)始兩行是: mysql_connect (localhost, username, password); mysql_select_db (dbname); 這兩個(gè)函數(shù)調(diào)用用來(lái)打開(kāi) MySQL 數(shù)據(jù)庫(kù),具體的參數(shù)的含義剛才已經(jīng)說(shuō)過(guò)了。 下面的一行是執(zhí)行一個(gè) SQL 語(yǔ)句 : mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ('$first_name', '$last_name') "); mysql_query 函數(shù)就是用來(lái)對(duì)選定的數(shù)據(jù)庫(kù)執(zhí)行一個(gè) SQL 查詢。你可以在 mysql_query 函數(shù)中執(zhí)行任何的 SQL 語(yǔ)句。被執(zhí)行的 SQL 語(yǔ)句必須作為一個(gè)字符串用雙引號(hào)括起來(lái),在其中的變量要用單引號(hào)括起來(lái)。 有一個(gè)要注意的事情: MySQL 的語(yǔ)句要用一個(gè)分號(hào) (;) 結(jié)束,一行 PHP 代碼同樣也是這樣,但是在 PHP 腳本中的 MySQL 語(yǔ)句是不能有分號(hào)的。也就是說(shuō),當(dāng)你在 mysql> 的提示符下輸入 MySQL 命令,你應(yīng)該加上分號(hào): INSERT INTO tablename (first_name, last_name) VALUES ('$first_name', '$last_name'); 但是如果這個(gè)命令出現(xiàn)在 PHP 腳本中,就要去掉那個(gè)分號(hào)了。之所以這樣做,是因?yàn)橛械恼Z(yǔ)句,如 SELECT 和 INSERT ,有沒(méi)有分號(hào)都可以工作。但是還有一些語(yǔ)句,如 UPDATE ,加上分號(hào)就不行了。為了避免麻煩,記住這條規(guī)則就好了。 PHP 如何從 MySQL 中提取數(shù)據(jù) 現(xiàn)在我們建立另外一個(gè) HTML 表單來(lái)執(zhí)行這個(gè)任務(wù): < html> < body> < form action=searchform.php3 method=GET> 請(qǐng)輸入您的查詢內(nèi)容 : < p> 姓: < input type=text name=first_name size=25 maxlength=25> < p> 名 : < input type=text name=last_name size=25 maxlength=25> < p> < input type=submit> < /form> < /body> < /html> 同樣,還要有一個(gè) php 腳本來(lái)處理這個(gè)表單,我們?cè)俳⒁粋€(gè) searchform.php3 文件: < html> < body> < ?php mysql_connect (localhost, username, password); mysql_select_db (dbname); if ($first_name == "") {$first_name = '%';} if ($last_name == "") {$last_name = '%';} $result = mysql_query ("SELECT * FROM tablename WHERE first_name LIKE '$first_name%' AND last_name LIKE '$last_name%' "); if ($row = mysql_fetch_array($result)) { do { print $row["first_name"]; print (" "); print $row["last_name"]; print ("< p>"); } while($row = mysql_fetch_array($result)); } else {print " 對(duì)不起,再我們的數(shù)據(jù)庫(kù)中,沒(méi)有找到符合的紀(jì)錄。 ";} ?> < /body> < /html> 當(dāng)你在表單中輸入了要檢索的內(nèi)容,再按下 SUBMIT 按鈕后,就會(huì)進(jìn)入一個(gè)新的頁(yè)面,其中列出了所有匹配的搜索結(jié)果。下面再來(lái)看看這段腳本到底是怎樣完成搜索任務(wù)的。 前面的幾條語(yǔ)句和上面講到的一樣,先是建立數(shù)據(jù)庫(kù)連接,然后選定數(shù)據(jù)庫(kù)和數(shù)據(jù)表,這些是每個(gè)數(shù)據(jù)庫(kù)應(yīng)用所必需的。然后有這樣的幾條語(yǔ)句: if ($first_name == "") {$first_name = '%';} if ($last_name == "") {$last_name = '%';} 這幾行用來(lái)檢查表單的各字段是否為空。要注意的是那兩個(gè)等號(hào),因?yàn)?PHP 的語(yǔ)法大多源于 C 語(yǔ)言,這兒等號(hào)的用法也同 C 一樣:一個(gè)等號(hào)是賦值號(hào),兩個(gè)等號(hào)才代表邏輯等于。還應(yīng)該注意的是:當(dāng) IF 后條件為真時(shí),后面要執(zhí)行的語(yǔ)句是放在“ { ”和“ } ”中的,并且其中的每一條語(yǔ)句后面都要加上分號(hào)表示語(yǔ)句結(jié)束。 百分號(hào) % 是 SQL 語(yǔ)言的通配符,理解了之一點(diǎn)后,就該知道這兩行的意思了:如果“ FIRST_NAME ”字段為空,那么將列出所有的 FIRST_NAME 。后面的兩句也是同樣的意思。 $result = mysql_query ("SELECT * FROM tablename WHERE first_name LIKE '$first_name%' AND last_name LIKE '$last_name%'" "); 這一行完成了搜索的大部分工作。當(dāng) mysql_query 函數(shù)完成一個(gè)查詢后,它返回一個(gè)整數(shù)標(biāo)志。 查詢從所有的記錄中選出那些 first_name 列和 $first_name 變量相同,并且 last_name 列和 $last_name 變量值也相同的記錄,放到暫存的記錄集中,并用返回的整數(shù)作為這個(gè)記錄集的標(biāo)志。 if ($row = mysql_fetch_array($result)) { do { print $row["first_name"]; print (" "); print $row["last_name"]; print ("< p>"); } while($row = mysql_fetch_array($result)); } else {print " 對(duì)不起,再我們的數(shù)據(jù)庫(kù)中,沒(méi)有找到符合的紀(jì)錄。 ";} 這是最后的一步,就是顯示部分了。 mysql_fetch_array 函數(shù)先提取出查詢結(jié)果的第一行的內(nèi)容,在用 PRINT 語(yǔ)句顯示出來(lái)。這個(gè)函數(shù)的參數(shù)就是 mysql_query 函數(shù)返回的整數(shù)標(biāo)志。而 mysql_fetch_array 執(zhí)行成功后,記錄集指針會(huì)自動(dòng)下移,這樣當(dāng)再一次執(zhí)行 mysql_fetch_array 時(shí),得到的就是下一行紀(jì)錄的內(nèi)容了。 數(shù)組變量 $row 被 mysql_fetch_array 函數(shù)建立并用查詢的結(jié)果字段來(lái)填充,數(shù)組的每一個(gè)分量對(duì)應(yīng)于查詢結(jié)果的每一個(gè)字段。 如果有符合的紀(jì)錄被找到,變量 $row 不會(huì)空,這時(shí)就會(huì)執(zhí)行花括號(hào)中的語(yǔ)句: do { print $row["first_name"]; print (" "); print $row["last_name"]; print ("< p>"); } while($row = mysql_fetch_array($result)); 這是一個(gè) do … while 循環(huán)。與 while 循環(huán)不同的是,它是先執(zhí)行一遍循環(huán)循環(huán)體,然后在檢查循環(huán)條件是否滿足。由于已經(jīng)知道在紀(jì)錄集不為空的情況下,肯定至少要把循環(huán)體執(zhí)行一遍,所以應(yīng)該用到的是 do … while 而不是 while 循環(huán)了。在花括號(hào)中的就是要執(zhí)行的循環(huán)體: print $row["fir PHP 如何從 MySQL 中提取數(shù)據(jù) 作 者 : 揚(yáng)眉 編譯 本文點(diǎn)擊次數(shù):398 現(xiàn)在我們建立另外一個(gè) HTML 表單來(lái)執(zhí)行這個(gè)任務(wù): < html> < body> < form action=searchform.php3 method=GET> 請(qǐng)輸入您的查詢內(nèi)容 : < p> 姓: < input type=text name=first_name size=25 maxlength=25> < p> 名 : < input type=text name=last_name size=25 maxlength=25> < p> < input type=submit> < /form> < /body> < /html> 同樣,還要有一個(gè) php 腳本來(lái)處理這個(gè)表單,我們?cè)俳⒁粋€(gè) searchform.php3 文件: < html> < body> < ?php mysql_connect (localhost, username, password); mysql_select_db (dbname); if ($first_name == "") {$first_name = '%';} if ($last_name == "") {$last_name = '%';} $result = mysql_query ("SELECT * FROM tablename WHERE first_name LIKE '$first_name%' AND last_name LIKE '$last_name%' "); if ($row = mysql_fetch_array($result)) { do { print $row["first_name"]; print (" "); print $row["last_name"]; print ("< p>"); } while($row = mysql_fetch_array($result)); } else {print " 對(duì)不起,再我們的數(shù)據(jù)庫(kù)中,沒(méi)有找到符合的紀(jì)錄。 ";} ?> < /body> < /html> 當(dāng)你在表單中輸入了要檢索的內(nèi)容,再按下 SUBMIT 按鈕后,就會(huì)進(jìn)入一個(gè)新的頁(yè)面,其中列出了所有匹配的搜索結(jié)果。下面再來(lái)看看這段腳本到底是怎樣完成搜索任務(wù)的。 前面的幾條語(yǔ)句和上面講到的一樣,先是建立數(shù)據(jù)庫(kù)連接,然后選定數(shù)據(jù)庫(kù)和數(shù)據(jù)表,這些是每個(gè)數(shù)據(jù)庫(kù)應(yīng)用所必需的。然后有這樣的幾條語(yǔ)句: if ($first_name == "") {$first_name = '%';} if ($last_name == "") {$last_name = '%';} 這幾行用來(lái)檢查表單的各字段是否為空。要注意的是那兩個(gè)等號(hào),因?yàn)?PHP 的語(yǔ)法大多源于 C 語(yǔ)言,這兒等號(hào)的用法也同 C 一樣:一個(gè)等號(hào)是賦值號(hào),兩個(gè)等號(hào)才代表邏輯等于。還應(yīng)該注意的是:當(dāng) IF 后條件為真時(shí),后面要執(zhí)行的語(yǔ)句是放在“ { ”和“ } ”中的,并且其中的每一條語(yǔ)句后面都要加上分號(hào)表示語(yǔ)句結(jié)束。 百分號(hào) % 是 SQL 語(yǔ)言的通配符,理解了之一點(diǎn)后,就該知道這兩行的意思了:如果“ FIRST_NAME ”字段為空,那么將列出所有的 FIRST_NAME 。后面的兩句也是同樣的意思。 $result = mysql_query ("SELECT * FROM tablename WHERE first_name LIKE '$first_name%' AND last_name LIKE '$last_name%'" "); 這一行完成了搜索的大部分工作。當(dāng) mysql_query 函數(shù)完成一個(gè)查詢后,它返回一個(gè)整數(shù)標(biāo)志。 查詢從所有的記錄中選出那些 first_name 列和 $first_name 變量相同,并且 last_name 列和 $last_name 變量值也相同的記錄,放到暫存的記錄集中,并用返回的整數(shù)作為這個(gè)記錄集的標(biāo)志。 if ($row = mysql_fetch_array($result)) { do { print $row["first_name"]; print (" "); print $row["last_name"]; print ("< p>"); } while($row = mysql_fetch_array($result)); } else {print " 對(duì)不起,再我們的數(shù)據(jù)庫(kù)中,沒(méi)有找到符合的紀(jì)錄。 ";} 這是最后的一步,就是顯示部分了。 mysql_fetch_array 函數(shù)先提取出查詢結(jié)果的第一行的內(nèi)容,在用 PRINT 語(yǔ)句顯示出來(lái)。這個(gè)函數(shù)的參數(shù)就是 mysql_query 函數(shù)返回的整數(shù)標(biāo)志。而 mysql_fetch_array 執(zhí)行成功后,記錄集指針會(huì)自動(dòng)下移,這樣當(dāng)再一次執(zhí)行 mysql_fetch_array 時(shí),得到的就是下一行紀(jì)錄的內(nèi)容了。 數(shù)組變量 $row 被 mysql_fetch_array 函數(shù)建立并用查詢的結(jié)果字段來(lái)填充,數(shù)組的每一個(gè)分量對(duì)應(yīng)于查詢結(jié)果的每一個(gè)字段。 如果有符合的紀(jì)錄被找到,變量 $row 不會(huì)空,這時(shí)就會(huì)執(zhí)行花括號(hào)中的語(yǔ)句: do { print $row["first_name"]; print (" "); print $row["last_name"]; print ("< p>"); } while($row = mysql_fetch_array($result)); 這是一個(gè) do … while 循環(huán)。與 while 循環(huán)不同的是,它是先執(zhí)行一遍循環(huán)循環(huán)體,然后在檢查循環(huán)條件是否滿足。由于已經(jīng)知道在紀(jì)錄集不為空的情況下,肯定至少要把循環(huán)體執(zhí)行一遍,所以應(yīng)該用到的是 do … while 而不是 while 循環(huán)了。在花括號(hào)中的就是要執(zhí)行的循環(huán)體: print $row["first_name"]; print (" "); print $row["last_name"]; print ("< p>"); 然后就是檢查 while 條件是否滿足。 Mysql_fetch_array 函數(shù)再次被調(diào)用,來(lái)得到當(dāng)前紀(jì)錄的內(nèi)容。這個(gè)過(guò)程一直循環(huán),當(dāng)沒(méi)有下一條紀(jì)錄存在時(shí), mysql_fetch_array 返回 false ,循環(huán)結(jié)束,紀(jì)錄集也就被完全的遍歷了一次。 mysql_fetch_array($result) 返回的數(shù)組,不僅可以用字段名來(lái)調(diào)用,也可以像一般的數(shù)組那樣,用下標(biāo)來(lái)引用數(shù)組的各個(gè)分量。這樣,上面的代碼還可以寫(xiě)成這樣: print $row[0]; print (" "); print $row[1]; print ("< p>"); 我們還可以用 echo 函數(shù)來(lái)把這四條語(yǔ)句寫(xiě)的緊湊一些: echo $row[0], " ", $row[1], "< p>"當(dāng)沒(méi)有任何匹配的紀(jì)錄被找到時(shí),在 $row 中就不會(huì)有任何內(nèi)容,這時(shí)就會(huì)調(diào)用 if 語(yǔ)句的 else 子句了: else {print " 對(duì)不起,再我們的數(shù)據(jù)庫(kù)中,沒(méi)有找到符合的紀(jì)錄。 ";} 檢查查詢是否正常工作 作 者 : 揚(yáng)眉 編譯 本文點(diǎn)擊次數(shù):398 你的那些 SELECT , DELETE 或者其它的查詢是否能夠正常工作呢?這是必須要搞清楚的,并且,千萬(wàn)不要輕易的就下結(jié)論。 檢查一個(gè) INSERT 查詢相對(duì)的簡(jiǎn)單一些: $result = mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ('$first_name', '$last_name') "); if(!$result) { echo "< b>INSERT 查詢失敗 :< /b> ", mysql_error(); exit; } 但是這個(gè)檢查的方法對(duì)于 SELECT 查詢是行不通的,這時(shí),應(yīng)該這樣作: $selectresult = mysql_query ("SELECT * FROM tablename WHERE first_name = '$first_name' AND last_name = '$last_name' "); if (mysql_num_rows($selectresult) == 1) { print "SELECT 查詢成功。 "} elseif (mysql_num_rows($selectresult) == 0) { print "SELECT 查詢失敗。 "exit; } 而對(duì)于 DELETE 查詢,就應(yīng)該是這樣了: $deleteresult = mysql_query ("DELETE FROM tablename WHERE first_name = '$first_name' AND last_name = '$last_name' "); if (mysql_affected_rows($deleteresult) == 1) { print "DELETE 查詢成功 "} elseif (mysql_affected_rows($deleteresult) != 1) { print "DELETE 查詢失敗 "exit; }
標(biāo)簽:
PHP
排行榜
