<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        PHP 和 MySQL 基礎教程(一)

        來源:懂視網 責編:小采 時間:2020-11-27 19:01:46
        文檔

        PHP 和 MySQL 基礎教程(一)

        PHP 和 MySQL 基礎教程(一):HTML 和 PHP 、MySQL 的交互 為什么要用到數據庫? World Wide Web (WWW) 不僅僅是一個提供信息的地方。如果你有什么東西,作一個網站,同樣可以和全世界的人一起分享。但是,這并不是一件很容易的事。當網站越做越大時,你可能會遇到這樣的問題: 網站包含
        推薦度:
        導讀PHP 和 MySQL 基礎教程(一):HTML 和 PHP 、MySQL 的交互 為什么要用到數據庫? World Wide Web (WWW) 不僅僅是一個提供信息的地方。如果你有什么東西,作一個網站,同樣可以和全世界的人一起分享。但是,這并不是一件很容易的事。當網站越做越大時,你可能會遇到這樣的問題: 網站包含

        HTML 和 PHP 、MySQL 的交互

        為什么要用到數據庫?
           World Wide Web (WWW) 不僅僅是一個提供信息的地方。如果你有什么東西,作一個網站,同樣可以和全世界的人一起分享。但是,這并不是一件很容易的事。當網站越做越大時,你可能會遇到這樣的問題:

        網站包含了太多的東西,使得訪問者不能夠很快得得到他們想要的東西。這個問題在某種程度上對一個網站而言是致命的。
        訪問者想要向你提供信息,而且這些信息必須保存下來以備后用。
        上面的兩個問題,都可以通過數據庫來解決!

        在 WWW 的世界中,數據庫無處不在。大如 Yahoo! , Amazon , eBay ,小到一個簡單的留言板,都可以看到數據庫的用武之地。甚至可以說,數據庫是一切高級應用的基礎。

        為什么要用 PHP 和 MYSQL
          就我所知,幾乎所有的主要的商業網站數據庫都是基于 SQL 的。其中最為流行的可能得算 Oracle 了。它很有威力,當然,也價格不菲。 SQL 不是一個應用程序,而是一種語言,它是 Structured Query Language (結構化查詢語言)的簡寫,用來對數據庫進行操作和查詢的。

           在最近的幾年中,一些公司開發出了“開放代碼”的 SQL 應用程序,其中最著名的可能算得上 MySQL 了。它不僅僅是免費的,對于一般的中小型數據庫應用,它的表現并不比 Oracle 遜色。

           要在一個網站上運行 MySQL ,你需要一種腳本語言來和數據庫進行交互。在過去, Perl 是最流行的。但現在看起來 PHP 似乎更為出色一些。不要問我他們之間有什么區別 ?? 過去我用 Perl ,它也工作的很好,但是現在好像每個人都喜歡用 PHP 了。它的流行當然有它的道理。

        需要的軟件
           這部分的內容, ChinaByte 網絡學院前些時候的文章中已有介紹。讀者可以參考《為 win98 設置本地 PHP 開發》一文。這兒不再詳細介紹。

        HTML 和 PHP
        作 者 : 揚眉 編譯 本文點擊次數:398

          我們來看看 PHP 是如何工作的。看看下面的這段代碼:

        < html>

        < body>

        < ?php

        print "Hello, world.";

        ?>

        < /body>

        < /html>

           當請求這個頁面的時候,它將在瀏覽器中顯示“ Hello , world ”。

           可以看到, PHP 腳本是嵌入在 HTML 文件中的。它以“ < ? ”開始,以“ ?> ”結束。不僅如此,我們甚至還可以把 HTML 標簽也嵌入在 PHP 腳本中:

        < ?php

        print "< html>";

        print "< body>";

        print "Hello, world.";

        print "< /body>";

        print "< /html>";

        ?>

             兩種方法殊途同歸,效果是一樣的。但是在一些特別的情況下,選擇其中的一種要更為方便一些。
        PHP 的 prints 語句
        作 者 : 揚眉 編譯 本文點擊次數:398

           PHP 和 HTML 最簡單的交互是通過 print 語句來實現的:

        < ?php

        print "Hello, world.";

        ?>

        print 是最為簡單也使用的最多的函數,用來把一些文本顯示在瀏覽器窗口中, echo 函數和 print 相類似,但是你可以用“,”號來分隔多個要顯示得內容,這在混合字符串常量和變量的顯示時要方便一些。

           還有一個 printf 函數,用來格式化數字的輸出。可以把一個數作為整數,或者用科學計數法顯示出來。

           在這幾個函數中,圓括號的使用與否是不同的:

        echo 一定不能帶有圓括號
        printf 卻一定要有
        print 可有可無
             要顯示一個字符串或者一個數字很簡單,只要把變量名或者常量跟在 print 語句后面就可以了。但是,如果要顯示一個數組,是不是也是寫成這樣呢:

        print $myarray;

          它輸出的結果將是“ Array ”, PHP 告訴你 $myarray 是一個數組。這在你拿不準一個變量是否是數組時會有一些用處,但是現在我們希望看到的是數組的內容。

           你可以用 implode 函數來把一個數組轉換成字符串。它包含兩個參數,第一個是數組變量名,第二個是數組內容的分隔符。當轉換完成之后,數組的內容被分隔符聯系起來形成一個字符串:

        $implodedarray = implode ($myarray, ", ");

        print $implodedarray;

          還可以用 array_walk 函數來實現數組的顯示。這個函數對數組的每個內容執行同一個函數操作。例如:

        function printelement ($element)

        {

        print ("$element< p>");

        }

        array_walk($myarray, "printelement");
        PHP 如何向 MySQL 發送數據
        作 者 : 揚眉 編譯 本文點擊次數:398

          你應該對 HTML 表單比較了解了,下面的一段代碼是一個很簡單的 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>

          當你輸入數據,并按下 submit 按鈕后,這個表單將把數據發送到 submitform.php3 。再由這個 PHP 腳本來處理收到的數據,下面就是 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 (" 感謝填寫注冊表 ");

        ?>

        < /body>

        < /html>

          在代碼的第三行中的 "username" 和 "password" 分別代表你登陸 MySQL 數據庫的賬號和密碼。在第五行中的 "dbname" 表示 MySQL 數據庫的名稱。在第十三行中的 "tablename" 是數據庫中的一個數據表的名稱。

           當你按下 submit 之后,可以看到你輸入的名字被顯示在一個新的頁面中。再看一看瀏覽器的 URL 欄,它的內容應該是像這樣的:

        … /submitform.php3?first_name=Fred&last_name=Flintstone

          因為我們用到的是表單 GET 方法,因此數據是通過 URL 來傳送到 submitform.php3 的。顯然, GET 方法是有局限性的,當要傳遞的內容很多時,就不能用 GET 了,只能用 POST 方法。但不管用什么方法,當數據傳送完成后, PHP 自動的為每一個表單中的字段建立一個和他們的名字(表單的 name 屬性)相同的變量。

           PHP 變量都已用一個美元符號開頭的,這樣,在 submitform.php3 腳本處理的過程中,就會有 $first_name 和 $last_name 這兩個變量了,變量的內容就是你輸入的內容。

           我們來檢查一下你輸入的名字是否真的被輸入到數據庫中了。啟動 MySQL, 在 mysql> 提示符下輸入:

        mysql> select * from tablename;

          你應該可以得到一個表,內容就是你剛才輸入的了:

        +------------+------------+

        | first_name | last_name |

        +------------+------------+

        | 柳 | 如風

        +------------+------------+

        1 rows in set (0.00 sec)

           我們再來分析一下 submitform.php3 是如何工作的:

           腳本的開始兩行是:

        mysql_connect (localhost, username, password);

        mysql_select_db (dbname);

          這兩個函數調用用來打開 MySQL 數據庫,具體的參數的含義剛才已經說過了。

           下面的一行是執行一個 SQL 語句 :

        mysql_query ("INSERT INTO tablename (first_name, last_name)

        VALUES ('$first_name', '$last_name')

        ");

           mysql_query 函數就是用來對選定的數據庫執行一個 SQL 查詢。你可以在 mysql_query 函數中執行任何的 SQL 語句。被執行的 SQL 語句必須作為一個字符串用雙引號括起來,在其中的變量要用單引號括起來。

           有一個要注意的事情: MySQL 的語句要用一個分號 (;) 結束,一行 PHP 代碼同樣也是這樣,但是在 PHP 腳本中的 MySQL 語句是不能有分號的。也就是說,當你在 mysql> 的提示符下輸入 MySQL 命令,你應該加上分號:

        INSERT INTO tablename (first_name, last_name)

        VALUES ('$first_name', '$last_name');

           但是如果這個命令出現在 PHP 腳本中,就要去掉那個分號了。之所以這樣做,是因為有的語句,如 SELECT 和 INSERT ,有沒有分號都可以工作。但是還有一些語句,如 UPDATE ,加上分號就不行了。為了避免麻煩,記住這條規則就好了。

        PHP 如何從 MySQL 中提取數據

          現在我們建立另外一個 HTML 表單來執行這個任務:

        < html>

        < body>

        < form action=searchform.php3 method=GET>

        請輸入您的查詢內容 :

        < 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>

          同樣,還要有一個 php 腳本來處理這個表單,我們再建立一個 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 " 對不起,再我們的數據庫中,沒有找到符合的紀錄。 ";}

        ?>

        < /body>

        < /html>

           當你在表單中輸入了要檢索的內容,再按下 SUBMIT 按鈕后,就會進入一個新的頁面,其中列出了所有匹配的搜索結果。下面再來看看這段腳本到底是怎樣完成搜索任務的。

           前面的幾條語句和上面講到的一樣,先是建立數據庫連接,然后選定數據庫和數據表,這些是每個數據庫應用所必需的。然后有這樣的幾條語句:

        if ($first_name == "")

        {$first_name = '%';}

        if ($last_name == "")

        {$last_name = '%';}

           這幾行用來檢查表單的各字段是否為空。要注意的是那兩個等號,因為 PHP 的語法大多源于 C 語言,這兒等號的用法也同 C 一樣:一個等號是賦值號,兩個等號才代表邏輯等于。還應該注意的是:當 IF 后條件為真時,后面要執行的語句是放在“ { ”和“ } ”中的,并且其中的每一條語句后面都要加上分號表示語句結束。

           百分號 % 是 SQL 語言的通配符,理解了之一點后,就該知道這兩行的意思了:如果“ FIRST_NAME ”字段為空,那么將列出所有的 FIRST_NAME 。后面的兩句也是同樣的意思。

        $result = mysql_query ("SELECT * FROM tablename

        WHERE first_name LIKE '$first_name%'

        AND last_name LIKE '$last_name%'"

        ");

          這一行完成了搜索的大部分工作。當 mysql_query 函數完成一個查詢后,它返回一個整數標志。

           查詢從所有的記錄中選出那些 first_name 列和 $first_name 變量相同,并且 last_name 列和 $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 " 對不起,再我們的數據庫中,沒有找到符合的紀錄。 ";}

          這是最后的一步,就是顯示部分了。 mysql_fetch_array 函數先提取出查詢結果的第一行的內容,在用 PRINT 語句顯示出來。這個函數的參數就是 mysql_query 函數返回的整數標志。而 mysql_fetch_array 執行成功后,記錄集指針會自動下移,這樣當再一次執行 mysql_fetch_array 時,得到的就是下一行紀錄的內容了。

           數組變量 $row 被 mysql_fetch_array 函數建立并用查詢的結果字段來填充,數組的每一個分量對應于查詢結果的每一個字段。

           如果有符合的紀錄被找到,變量 $row 不會空,這時就會執行花括號中的語句:

        do {

        print $row["first_name"];

        print (" ");

        print $row["last_name"];

        print ("< p>");

        } while($row = mysql_fetch_array($result));

          這是一個 do … while 循環。與 while 循環不同的是,它是先執行一遍循環循環體,然后在檢查循環條件是否滿足。由于已經知道在紀錄集不為空的情況下,肯定至少要把循環體執行一遍,所以應該用到的是 do … while 而不是 while 循環了。在花括號中的就是要執行的循環體:

        print $row["fir
        PHP 如何從 MySQL 中提取數據
        作 者 : 揚眉 編譯 本文點擊次數:398

          現在我們建立另外一個 HTML 表單來執行這個任務:

        < html>

        < body>

        < form action=searchform.php3 method=GET>

        請輸入您的查詢內容 :

        < 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>

          同樣,還要有一個 php 腳本來處理這個表單,我們再建立一個 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 " 對不起,再我們的數據庫中,沒有找到符合的紀錄。 ";}

        ?>

        < /body>

        < /html>

           當你在表單中輸入了要檢索的內容,再按下 SUBMIT 按鈕后,就會進入一個新的頁面,其中列出了所有匹配的搜索結果。下面再來看看這段腳本到底是怎樣完成搜索任務的。

           前面的幾條語句和上面講到的一樣,先是建立數據庫連接,然后選定數據庫和數據表,這些是每個數據庫應用所必需的。然后有這樣的幾條語句:

        if ($first_name == "")

        {$first_name = '%';}

        if ($last_name == "")

        {$last_name = '%';}

           這幾行用來檢查表單的各字段是否為空。要注意的是那兩個等號,因為 PHP 的語法大多源于 C 語言,這兒等號的用法也同 C 一樣:一個等號是賦值號,兩個等號才代表邏輯等于。還應該注意的是:當 IF 后條件為真時,后面要執行的語句是放在“ { ”和“ } ”中的,并且其中的每一條語句后面都要加上分號表示語句結束。

           百分號 % 是 SQL 語言的通配符,理解了之一點后,就該知道這兩行的意思了:如果“ FIRST_NAME ”字段為空,那么將列出所有的 FIRST_NAME 。后面的兩句也是同樣的意思。

        $result = mysql_query ("SELECT * FROM tablename

        WHERE first_name LIKE '$first_name%'

        AND last_name LIKE '$last_name%'"

        ");

          這一行完成了搜索的大部分工作。當 mysql_query 函數完成一個查詢后,它返回一個整數標志。

           查詢從所有的記錄中選出那些 first_name 列和 $first_name 變量相同,并且 last_name 列和 $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 " 對不起,再我們的數據庫中,沒有找到符合的紀錄。 ";}

          這是最后的一步,就是顯示部分了。 mysql_fetch_array 函數先提取出查詢結果的第一行的內容,在用 PRINT 語句顯示出來。這個函數的參數就是 mysql_query 函數返回的整數標志。而 mysql_fetch_array 執行成功后,記錄集指針會自動下移,這樣當再一次執行 mysql_fetch_array 時,得到的就是下一行紀錄的內容了。

           數組變量 $row 被 mysql_fetch_array 函數建立并用查詢的結果字段來填充,數組的每一個分量對應于查詢結果的每一個字段。

           如果有符合的紀錄被找到,變量 $row 不會空,這時就會執行花括號中的語句:

        do {

        print $row["first_name"];

        print (" ");

        print $row["last_name"];

        print ("< p>");

        } while($row = mysql_fetch_array($result));

          這是一個 do … while 循環。與 while 循環不同的是,它是先執行一遍循環循環體,然后在檢查循環條件是否滿足。由于已經知道在紀錄集不為空的情況下,肯定至少要把循環體執行一遍,所以應該用到的是 do … while 而不是 while 循環了。在花括號中的就是要執行的循環體:

        print $row["first_name"];

        print (" ");

        print $row["last_name"];

        print ("< p>");

           然后就是檢查 while 條件是否滿足。 Mysql_fetch_array 函數再次被調用,來得到當前紀錄的內容。這個過程一直循環,當沒有下一條紀錄存在時, mysql_fetch_array 返回 false ,循環結束,紀錄集也就被完全的遍歷了一次。

        mysql_fetch_array($result) 返回的數組,不僅可以用字段名來調用,也可以像一般的數組那樣,用下標來引用數組的各個分量。這樣,上面的代碼還可以寫成這樣:

        print $row[0];

        print (" ");

        print $row[1];

        print ("< p>");

          我們還可以用 echo 函數來把這四條語句寫的緊湊一些:

        echo $row[0], " ", $row[1], "< p>";

          當沒有任何匹配的紀錄被找到時,在 $row 中就不會有任何內容,這時就會調用 if 語句的 else 子句了:

        else {print " 對不起,再我們的數據庫中,沒有找到符合的紀錄。 ";}
        檢查查詢是否正常工作
        作 者 : 揚眉 編譯 本文點擊次數:398

          你的那些 SELECT , DELETE 或者其它的查詢是否能夠正常工作呢?這是必須要搞清楚的,并且,千萬不要輕易的就下結論。

        檢查一個 INSERT 查詢相對的簡單一些:

        $result = mysql_query ("INSERT INTO tablename (first_name, last_name)

        VALUES ('$first_name', '$last_name')

        ");

        if(!$result)

        {

        echo "< b>INSERT 查詢失敗 :< /b> ", mysql_error();

        exit;

        }

          但是這個檢查的方法對于 SELECT 查詢是行不通的,這時,應該這樣作:

        $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;

        }

          而對于 DELETE 查詢,就應該是這樣了:

        $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;

        }


        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        PHP 和 MySQL 基礎教程(一)

        PHP 和 MySQL 基礎教程(一):HTML 和 PHP 、MySQL 的交互 為什么要用到數據庫? World Wide Web (WWW) 不僅僅是一個提供信息的地方。如果你有什么東西,作一個網站,同樣可以和全世界的人一起分享。但是,這并不是一件很容易的事。當網站越做越大時,你可能會遇到這樣的問題: 網站包含
        推薦度:
        標簽: php 腳本 my
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产裸模视频免费区无码| 亚洲人成欧美中文字幕| 一级毛片试看60分钟免费播放| 亚洲AV无码之国产精品| 精品国产免费一区二区三区香蕉 | 亚洲人成网站在线观看播放动漫| 亚洲Av永久无码精品一区二区| 产传媒61国产免费| 成年黄网站色大免费全看| 亚洲AV无码一区二三区| 亚洲另类春色校园小说| 一个人免费播放在线视频看片| 91成人免费观看| 又大又黄又粗又爽的免费视频| 亚洲最大成人网色| 大桥未久亚洲无av码在线| 中文字幕在线免费视频| 青青草国产免费久久久下载| 久久国产精品亚洲综合| 羞羞视频免费网站入口| 久久久久久精品免费看SSS| 亚洲香蕉网久久综合影视| 亚洲风情亚Aⅴ在线发布| 91手机看片国产永久免费| 亚洲短视频在线观看| 免费黄网站在线观看| 亚洲美女在线国产| 香港经典a毛片免费观看看| 在线看无码的免费网站| 亚洲国产精品无码久久一区二区 | 黄页网站免费观看| 亚洲视频在线观看2018| 午夜福利不卡片在线播放免费| 78成人精品电影在线播放日韩精品电影一区亚洲| 猫咪www免费人成网站| 又黄又爽一线毛片免费观看 | 久久久久精品国产亚洲AV无码| 91精品免费观看| 亚洲一卡2卡三卡4卡无卡下载 | 91亚洲视频在线观看| 妞干网在线免费视频|