Lab5 資工二乙 400262161 王冠仁

ˊ  這次的Lab是要做PHP和MySQL,其實PHP和搭配MySQL已經很久了,Client端透過PHP向Server端的資料庫送出query,Server端再將結果送回Client端,不過要怎麼實做呢?首先我們必須要有Apache(http Server)、PHP和MySQL,如果在windows的環境下將這三個軟體個別安裝的話,還需要做一些設定才能將這個軟體整合起來,所以我採用XAMPP,他整合了Apache、PHP和MySQL,並且附有phpmyadmin用圖形化介面去控管MySQL(一般的MySQL是要輸入指令),對於初 學者來說是非常好學習的。

  Client端透過GET或者POST將資料送給PHP,如下:

<form action="XXX.php" method="POST">

  <input type="text" name="message">

  <input type="submit">

</form>

  在XXX.php中透過$_POST['message']可以得到Client端送出的message。若要將得到的message送到MySQL中得到相對應的infomation,我需要1. 資料庫的位置 2. MySQL帳號 3. MySQL密碼 4. 資料庫的名稱 5. 資料庫的哪張表,還有要送出的query,寫法如下:

$dbhost = '127.0.0.1';//(1)資料庫的位置

$dbuser = 'admin';//(2)MySQL帳號

$dbpass = 'OOOOO';//(3) MySQL密碼

$dbname = 'XXXXX';//(4)資料庫的名稱

$conn = mysql_connect($dbhost,$dbuser,$dbpass); //連結MySQL

mysql_select_db($dbname);//選擇資料庫

$sql = "SELECT * FROM /*(5)資料庫的哪張表*/ WHERE message = '$_POST[message]'";

//寫好要送出的query

$result = mysql_query($sql);//送出query

$result2 = mysql_num_rows($result);
while($row = mysql_fetch_array($result)){
  echo $row['information']; //將message的information印出來
}

if($result2 == 0){
/*代表資料庫沒有這個message的information*/
}

  SQL的語法不是只有上面的SELECT,其他還有INSERT、UPDATE等等,使用方法都大同小異。還有PHP的強大不是只有在連結MySQL,在HTML5的SSE(Server Sent Events)和websocket也需要透過PHP,我認為學Web如果不會PHP的話,應該算是白學了吧!

  這次的lab剛好在我們的期末專題中有使用到,所以稍微有一點研究,由於我們期末專題從期中考前就在準備,老師還沒有教到這個部份,大部分都是google和自己摸索學會的,所以我覺得不是所有東西都要老師教才會,自主學習的話學到的會更多。

(要DEMO的話由於是浮動IP所以不附網址囉!)