範例 - 國立高雄第一科技大學資訊管理系暨研究所

Report
主講者:李瑋捷
國立高雄第一科技大學
資訊管理系
網路組
Mail:[email protected]
PHP簡介
何謂PHP?

全名為Hypertext Preprocessor

PHP檔案內容包含HTML標籤、文字、java script及
PHP指令

PHP檔由伺服器端之PHP引擎動態編譯並執行,所
以稱為伺服器腳本語言,其它類似語言包括Active
Server Pages (ASP) 及 Java Server Pages (JSP) ..等

語法和C、Java 及Perl等語法相似,學習起來更容
易上手。PHP的目地是為了能使網站開發者可以快
速地撰寫動態網頁。(目前PHP最新版本為 5.2.6)
PHP特色

相容性:PHP5的程式可與舊版本相容

免費:PHP可從網路上免費下載使用

可擴充:使用者可新增模組以擴充PHP功能


跨平台:PHP可在多種作業平台作業(如:
Windows、Linux…等) 及 Web伺服器執行(如:
Apache、IIS…等)
支援多種資料庫:PHP支援十餘種資料庫(如:
MySQL、Oracle、SQL Server…等)
撰寫PHP



只要能夠存成純文字檔的文字編輯器都可
以做為PHP程式的編輯器(如Windows的記
事本、WordPad ,Unix下的vi)
基本的網頁編輯工具,也是最佳的PHP綜
合編輯器,但不建議使用MS Frontpage、
Word來編輯
建議PHP程式設計部份採用其他文字編輯
器 或 是 使 用 Macromedia Dreamweaver 、
Namo等其他網頁編輯工具
HTML架構
標籤
說明
<html></html>
趇始與結束HTML
<head></head>
HTML文件的起頭符號,可讓讀者瞭解此為程式的開
頭
<title></title>
為Home Page的名稱,出現在瀏覽器的標題列上
<body></body>
文件的內容,包含文字及背景
<html>
<head>
<title>標題列</title>
</head>
<body>內容</body>
</html>
HTML語法
標籤
<! - - ... - ->
說明
用於HTML文件中的註解
<A HREF=“xxx.html">
設定超鏈結
<BLOCKQUOTE></BLOCKQUOTE>
縮排
<BR>
換行
<HR>
加上分隔線
<P>...</P>
分段
<TABLE BORDER="1">
調整表格的寬線高度
<TABLE HEIGHT=>
調整表格的高度
<TABLE WIDTH=>
調整表格的寬度
<TABLE>...</TABLE>
產生表格的標籤
<TR>…</TR>
定義表格的資料列位
<TD ALIGN=>
調整表格欄位之左右對齊
<TD BGCOLOR=>
設定表格欄位之背景顏色
<TD WIDTH=>
調整表格欄位寬度
<TD>...</TD>
定義表格的資料欄位
AppServ下載

下載連結
http://sourceforge.net/projects/appserv/fil
es/latest/download?source=files
文字編輯器下載
軟體名稱
授權方式
下載
免費軟體
(開放源始碼)
相關下載1
相關下載2
UltraEdit-32
http://www.ultraedit.com/
共享軟體
(45天使用限制)
相關下載
EditPlus
http://www.editplus.com/
共享軟體
(30天使用限制)
相關下載
Dreamweaver
http://www.adobe.com/tw/
共享軟體
(30天使用限制)
Namo
http://www.namo.com/
共享軟體
(30天使用限制)
jEdit
http://www.jedit.org/
相關下載
PHP語法
PHP程式標記
PHP程式區段表示法
起始符號
結束符號
說明
1. <?php
?>
正式用法(最普遍)
2. <?
?>
簡易用法(需設定short_open_tag)
3. <script language=“php”>
</script>
為html標籤用法
<!- -範例- ->
<?php
echo 'test‘;
?>
PHP註解
PHP程式註解
種類
類型
//
單行註解(C++ Style)
#
單行註解(Script Style)
/*
*/
多行註解(C Style)
/**
*/
多行註解(PHPDoc Style)
<!- -範例- ->
<?php
// 註解1
/* 註解2
註解2 */
?>
PHP註解

註解的重要性
幫助他人
看懂自己的程式
幫助自己
看懂以前的程式
PHP常數、變數
變數命名規則

自行命名變數名稱,並以「$」來識別,再將資料指定給
變數,提供程式使用、可修改(例:$var=1、
$abc=“abc”………等)

在PHP 中使用一個變數,無須宣告,直接使用

使用變數之前,須注意下列事項
1.
變數名稱有大小寫之分,所以 $abc 與 $ABC ,甚至是 $Abc
都表示不同的變數,建議不要用相同名稱的變數
2.
變數名稱的「開頭字母」必須是英文字母「a-z或A-Z」或底
線「 _ 」,不可用其他字元,如數字
3.
變數名稱必須由英文字母、數字及底線組成,不可空白
4.
不可使用關鍵字及識別字
變數命名規則
$ 字號開頭
$
大小寫不同
A≠a
A-Za-z0-9_
必須由 A-Z / a-z / 0-9 / _ 構成
不可為保留字
保留字
×
$9Table
第一個字不可為數字
變數

整數變數:$val = 123

浮點數變數:$abc = 1.52

字串變數:$str = “HELLO”、$def =
“ABCD”

布林變數:$bl = true、$bl = false

字串使用「.」作為連接符號:$str . $def
=> HELLOABCD
雙引號與單引號差別
<!--範例-->
<?php
$test =123;
echo '$test'."<br>";//單引號 變數不代換
echo "$test"."<br>";//雙引號 變數代換
?>
變數的變數

某變數的名稱,用另一個變數來代替
<?php
$a = “apple”;
$b = “a”;
echo $$b;
?>
$$b
$b = “a”
$a
$a = “Apple”
“Apple”
建議少用此方法!!
常數

常數也是存放資料的變數,不過常數給予
資料之後,就不可改變資料內容

在PHP中,常數是用 define( )函數來建
立。
例:

<?php
define("PI","3.1415926");
echo PI."<br>";
?>
直接使用,不用加上「$」字號

//設定π的值
PHP陣列
一維陣列

PHP中陣列索引可以為數字或字串,且
在同一陣列內可存放不同型態之元素!
陣列設定方法
方法一:
$a [0] =‘aaa’;
$a [1] =‘bbb’;
方法二:
$a [] =‘aaa’;
$a [] =‘bbb’;
方法三:
$a = array (‘aaa’ , ’bbb’);
方法四:
$a = array (
0 => ‘aaa’ ,
1 => ’bbb’ );
方法五:
$a [‘Jan’] = ‘一月’;
$a [‘Feb’] =‘二月’;
方法六:
$a = array (
‘Jan’ => ‘一月’ ,
‘Feb’ => ’二月’ );
多維陣列



PHP只要在陣列後再多加[]符號,即變多維
陣列!
方法一:
$book[0] [0] = “Windows”;
$book[0] [1] = “Linux”;
$book[1] [0] = “ASP”;
$book[1] [1] = “PHP”;
PHP運算式
運算式

運算子,大致歸類下列六種:
 算術運算子
 指定值運算子
 位元移位運算子
 比較運算子
 錯誤控制運算子
 增值及減值運算子
 邏輯運算子
算術運算子
運算子
範例
用途
+
$a + $b
$a 和 $b 的和
-
$a - $b
$a 和 $b 的差
*
$a * $b
$a 和 $b 的乘積
/
$a / $b
$a 除以 $b 的商
%
$a % $b
$a 除以 $b 的餘數
位元移位運算子
範例
名稱
結果
$a & $b
And(且)
將在 $a 和 $b 中都為 1 的位設為 1
$a | $b
Or(或)
將在 $a 或者 $b 中為 1 的位設為 1
$a ^ $b
Xor(互斥)
將在 $a 和 $b 中不同的位設為 1
~ $a
Not(補數)
將 $a 中為 0 的位設為 1,反之亦然
$a << $b
Shift left(左移)
將 $a 中的位向左移動 $b 次(每一次移動都表示“乘以 2”)
$a >> $b
Shift right(右移)
將 $a 中的位向右移動 $b 次(每一次移動都表示“除以 2”)
比較運算子
範例
名稱
解釋
$a == $b
等於
TRUE,如果 $a 等於 $b。
$a === $b
全等
TRUE,如果 $a 等於 $b,並且它們的類型也相同。(PHP 4 only)
$a != $b
不等
TRUE,如果 $a 不等於 $b。
$a <> $b
不等
TRUE,如果 $a 不等於 $b。
$a !== $b
非全等
$a < $b
小與
TRUE,如果 $a 小於 $b。
$a > $b
大於
TRUE,如果 $a 大於 $b。
$a <= $b
小於等於
TRUE,如果 $a 小於或者等於 $b。
$a >= $b
大於等於
TRUE,如果 $a 大於或者等於 $b。
TRUE,如果 $a 不等於 $b,或者它們的類型不同。(PHP 4 only)
錯誤控制運算子

PHP [email protected]

當將其放置在一個 PHP 運算式之前,該運
算式可能產生的任何錯誤資訊都被忽略掉
例:
<?php
$abc = @mysql_connect ('root', 'test',
'database');
?>

增值及減值運算子
範例
名稱
解釋
++$a
前加
$a 的值加一,然後返回 $a。
$a++
後加
返回 $a,然後將 $a 的值加一。
--$a
前減
$a 的值減一, 然後返回 $a。
$a--
後減
返回 $a,然後將 $a 的值減一。
邏輯運算子
範例
名稱
$a and $b
And(邏輯與)
TRUE,如果 $a 與 $b 都為 TRUE
$a or $b
Or(邏輯或)
TRUE,如果 $a 或 $b 任一為 TRUE
$a xor $b
解釋
Xor(邏輯互斥) TRUE,如果 $a 或 $b 任一為 TRUE,但不同時是
! $a
Not(邏輯非)
TRUE,如果 $a 不為 TRUE
$a && $b
And(邏輯與)
TRUE,如果 $a 與 $b 都為 TRUE
$a || $b
Or(邏輯或)
TRUE,如果 $a 或 $b 任一為 TRUE
運算子執行優先順序
流程控制結構
條件述句
迴圈
If
語法:
範例:
if ( 條件 ) {
敘述句1……….;
敘述句2……….;
…….
}
<?php
$a = "123";
if ($a == 123) {
echo "A = $a ";
}
?>

如果IF判斷式區斷只有一行,則大括號可省略
如下:
if ( 條件 ) 敘述句………..;
If .... Else
語法:
範例:
if ( 條件 ) {
敘述句1.1;
敘述句1.2;
…….
} else {
敘述句2.1;
敘述句2.2;
…….
}
<?php
$a = "123";
if ($a < 100) {
echo "A 小於 100 ";
} else {
echo "A 大於 100 ";
}
?>
If .... ElseIf .... Else
語法:
範例:
if ( 條件1 ) {
敘述句1;
…….
} elseif ( 條件2 ) {
敘述句2;
…….
} elseif ( 條件N) {
敘述句N;
<?php
$a = “10";
if ($a < 10) {
echo "A 小於 10";
} elseif ($a >=10AND $a <50) {
echo "A 大於 10,小於 50";
} else {
echo "A 大於 50";
}
…….
} else {
}
敘述句
…….
?>
Switch
語法:
範例:
switch ( switch條件 ) {
case ‘值1’ :
敘述1;
break;
case ‘值2’ :
case ‘值3’ :
敘述2 & 3;
break; ......
default :
敘述n;
break;
}
<?php
$a = 1;
switch ($a) {
case 0:
$r = 0;
break;
case 1:
$r = 1;
break;
default:
$r = “OTHER”;
break;
}
echo “a的值為:” . $a;
?>
If VS Switch
用 if 的寫法
<?php
$a = 2;
if ( $a == 1 ) {
echo "冠軍";
}
用 switch 的寫法
If ( $a == 3 ) {
echo "季軍";
}
<?php
$a = 2;
switch ($a) {
case 1:
echo "冠軍";
break;
case 2:
echo "亞軍";
break;
case 3:
echo "季軍";
break;
}
?>
?>
If ( $a == 2 ) {
echo "亞軍";
}
While 迴圈

只要條件成立(真或true)時,就會一直
執行敘述的程式,直到條件為False時才
停止迴圈
語法:
範例:
while ( 條件 ) {
敘述…..;
……….
}
<?php
$a = 1;
while ( $a<10 ) {
echo "$a <BR>";
$a++;
}
?>
Do .... While 迴圈

會先執行程式區段,才執行條件判斷式,
所以至少會執行一次
語法:
範例:
do {
<?php
$a = 1;
do {
echo "$a <BR>";
$a++;
} while ( $a<10 )
?>
敘述;
………
} while ( 條件 )
For 迴圈
語法:
for ( 條件初始值 ; 條件判斷式 ; 條件改變式 ) {
敘述………;
…………
}
範例:
<?php
for ( $a = 1; $a < 10 ; $a++ ) {
echo "$a <BR>";
}
?>
Foreach迴圈
語法:
foreach (陣列 as 陣列索引值 => 陣列內容) {
敘述………;
…………
}
範例:
<?php
$a = array (99, 8, 10, 17);
foreach ($a as $k => $v) {
echo $k . "=>" . $v . "<br>";
}
?>
Break VS Continue
Break
Continue
功
能
結束迴圈
結束目前迴圈內容,跳至迴圈起
始處
範
例
<?php
for ($i=1; $i<10; $i++){
($i == 3){
break;
}
echo $i . ”,";
}
?>
<?php
for ($i=1; $i<10; $i++){
if ($i == 3){
continue;
}
echo $i . ”,";
}
?>
結
果
1,2,
if
1,2,4,5,6,7,8,9,
函數、表單
函數(函式)



PHP中,允許將常用的流程或變數等,組
織成一個固定的格式。可以自行組合函式
或者是物件。
建立函數的方法:
function 函數名 ($參數1, $參數2, ..., $參數
n) {
$回傳值= $參數1 + $參數2; // 程
式動作
return $回傳值;
// 傳回結果
}
函數使用方法(傳值)
<?php
function circle_len($r) // 圓周長=直徑×
3.14
{
$result = $r * 2 * 3.14;
return $result;
}
$r = 10;
// 半徑
echo "圓周長=" . circle_len($r) ;
?>
函數使用方法(傳址)
<?php
function txt(&$r)
{
$r . = “是熱門網路程式語言”;
return $r;
}
$str = “PHP”;
echo txt(&$str) ;
?>
函數使用方法(預設參數值)
<?php
function txt($type , $str=“PHP”)
{
echo $str . “是” . $type . “語言”;
}
txt(“熱門網路程式”) ;
txt(“物件導向” , “Java”);
?>
變數傳遞
表單
=>
表單格式
<form name="form1" method="post" action=“URL">
…………….
…………….
</form>

Name屬性:表單名稱

Method屬性:方式(法),傳遞資料給程式處理的方式,有
“get” 、“post” 二種屬性

Action屬性:動作,指定程式存放的所在位置及檔案
 URL屬性:可使用相對路徑或絕相對路徑,一般都是指後端處理程式
POST VS GET


"get" 表單送出後,查看瀏覽器上方網
址列,會顯示送出資料編碼過後的訊息。
"post" 表單送出後,因轉變為可變名稱
值,所以您看不到送出資料狀況,只能
看到處理後的結果。
表單元件介紹
文字輸入
框
密碼輸入
框
多列文字
區
下拉式功能
表
選擇清
單
送出 / 清除
紐
一般按
鈕
檔案上傳
紐
單選按
多選按鈕 鈕
表單元件介紹

文字輸入框 (Textbox)格式
◦ <input type=“text”
name=“欄位/變數名稱”
size=“長度” …………………………. (可省略)
maxlength=“最大輸入長度” . …….(可省略)
value=“輸入值” >
◦ 範例
<input type=“text” name=“txtUserName” size = “20”
maxlength=“50” value=“”>
表單元件介紹

密碼輸入框 (Password)格式
◦ <input type=“password”
name=“欄位/變數名稱”
size=“長度” …………………………. (可省略)
maxlength=“最大輸入長度” . …….(可省略)
value=“輸入值” >
◦ 範例
<input type=“password” name=“txtPassword” size = “20”
maxlength=“50” value=“”>
表單元件介紹

多列文字區 (Text Area)格式
◦ <textarea name=“欄位/變數名稱”
rows=“列數” …………………………. (可省略)
cols=“行數” …………………………. (可省略) >
初始字串
</textarea>
◦ 範例
 <textarea name=“txtMessage” rows=“10” cols=“40”
wrap=“soft”>
請在此處輸入您的意見
</textarea>
表單元件介紹

單選按鈕 (Radio Button)格式
◦ <input type=“radio”
name=“按鈕/變數名稱”
value=“選擇值”
checked>
 Checked:設定此單選按鈕是否預設為勾選
◦ 範例
 <input type=“radio” name=“rdSex” value=“male” checked>男性
<input type=“radio” name=“rdSex” value=“female”>女性
◦ 注意事項
 所有同一組的單選按鈕變數名稱必須相同,否則會被視為不同群
組。
 以上例而言,若使用者勾選 “女性”,則 PHP 會收到一個變數名
為 $rdSex,其內容值為 “female”
表單元件介紹

多選按鈕 (Checkbox)格式
◦ <input type=“checkbox”
name=“按鈕/變數名稱”
value=“選擇值” checked>
 Checked:設定此單選按鈕是否預設為勾選
◦ 範例
 <input type=“checkbox” name=“chkRemember”
value=“yes”> 記住我的密碼
◦ 注意事項
 每個多選按鈕按鈕/變數名稱必須不同,否則將會發生只收到最
後一個勾選的選擇值之情況,可用陣列命名之。
表單元件介紹

下拉式功能表 (Combo Box)格式
◦ <select name=“欄位/變數名稱”>
<option value=“選擇值1” selected>選項名稱1
<option value=“選擇值2” >選項名稱2
..…
</select>
 selected
 將此選項預設為被選取
 選項名稱
 秀在下拉式功能表裡的文字
◦ 範例
 請輸入您所在的城市:
<select name=“cmbCity”>
<option value=“taipei” selected>台北市
<option value=“taichung”>台中市
<option value=“kaoshung”>高雄市
</select>
表單元件介紹

選擇清單 (List)格式:與下拉式功能表完全相同
◦ <select name=“欄位/變數名稱” size=“清單項目顯示數” multiple>
<option value=“選擇值1” selected>選項名稱1
<option value=“選擇值2” >選項名稱2
<option value=“選擇值3” selected>選項名稱3
……
</select>
◦ 清單顯示項目數
 指定此一清單要顯示幾個項目。若實際項目數量大於此值,則該
清單會出現捲動軸
◦ Multiple
 設定此清單是否可以多選
 若可以多選時,則用 ctrl + 滑鼠左鍵可以選擇不連續的項目
 若用 shift + 滑鼠左鍵可以選擇一群連續的項目
表單元件介紹

送出 / 清除鈕
◦ 送出鈕格式
 <input type=“submit” name=“按鈕/變數名稱” value=“按鈕表面
文字兼輸入值”>
 每個 <form> ~ </form> 之間必須有一個送出鈕,好讓該 form 內
所有的值後送
◦ 清除鈕格式
 <input type =“reset” name=“按鈕/變數名稱” value=“按鈕表面文
字兼輸入值”>
 清除鈕的任務就是將此 form 內所有的後送值還原成原來的樣子。
一個 form 可以沒有此一按鈕
◦ 送出 / 清除鈕範例
 <input type=“submit” name=“btnSubmit” value=“送出”>
 <input type=“reset” name=“btnReset” value=“清除”>
表單元件介紹

隱藏鈕
◦ 什麼是隱藏鈕
 看不見的按鈕
◦ 為什麼需要隱藏鈕
 讓程式師除了後送使用者鍵入的資料外,有機會送其他資料
 範例:當使用者按下 “送出” 鈕時,可以將按下送出鈕的時間利
用隱藏鈕夾帶回送到伺服器來。
◦ 格式
 <input type=“hidden” name=“按鈕/變數名稱” value=“傳送值”>
◦ 範例
 <input type=“hidden” name=“btnTime” value=“<?php echo
time()?>”>
表單元件介紹

檔案上傳鈕 (File Upload Button)
◦ 功能
 提供使用者指定本地端上傳檔案檔名及路徑
 本按鈕只有指定路徑與檔名的功用,並無實際上傳功能。
◦ 格式
 <input type=“file” name=“變數名稱” value=“傳送值”>
◦ 範例
 <input type=“file” name=“btnUpload” value=“”>
表單元件介紹

一般按鈕 (Button)
◦ 功能
 提供程式師顯示一個一般按鈕
◦ 格式
 <input type=“button” name=“按鈕名稱” value=“按鈕表面
字樣” onclick=“JavaScript函數名稱”>
◦ 範例
 <input type=“button” name=“btnButton” value=“按一下”
onclick=“btnClick()”>
◦ 注意事項
 HTML 的一般按鈕本身並無特殊功能,只是在頁面顯示一
個按鈕的形狀而已。必須搭配 JavaScript 才有動作。
MySQL
資料庫簡介

何謂資料庫
◦ 存放資料的地方 (The repository of data)
Data
Database
資料庫簡介

何謂資料庫管理系統
◦ 資料庫管理系統
(DBMS, Database Management System)
◦ 對資料庫作查詢、新增、刪除、修改的軟
體
Database
Users
DBMS
資料庫簡介

MySQL Database
◦ 它既是一個 Database,也是一個 DBMS
Database
DBMS
資料庫簡介

操作資料庫的共通語言
◦ SQL (Structured Query Language)
SELECT * FROM mytable
WHERE name …………
Database
SQL 語言
DBMS
資料庫簡介

資料庫如何儲存資料
◦ 表格(Table),欄位(Field),紀錄(Record)
Table
編號
Record
姓名
地址
電話
1
范健男
台北市濟南路一段38號4F
(02) 28825252
2
陳銀崇
台北市南昌路二段19號
(02) 23939889
3
傅欣仁
台中市綠川東街22號
(02) 23838938
4
史麗娘
屏東縣萬丹鄉秋林村4鄰55號 (08) 7345566
5
…
Field
資料庫建立與刪除
語法
作用
SHOW DATABASES;
查看資料庫清單
CREATE DATABASE 資料庫名稱;
建立資料庫
DROP DATABASE 資料庫名稱;
刪除資料庫
資料表建立與刪除
語法
作用
SHOW TABLES;
查看資料表清單
CREATE TABLE 資料表名稱 (
欄位定義1,
欄位定義2,
…
);
建立資料表
欄位定義
欄位名稱 欄位型態[NOT NULL]
[DEFAULT 預設值]
[AUTO_INCREMENT]
[PRIMARY KEY]
 PRIMARY KEY(欄位名稱1, 欄位名稱2, …)
 FOREIGN KEY(欄位名稱1,欄位名稱2, …)
 UNIQUE(欄位名稱1,欄位名稱2, …)
 INDEX (欄位名稱1,欄位名稱2, …)
 CHECK(欄位條件)
DESCRIBE 資料表名稱;
查看資料表結構
RENAME TABLE 舊名稱 TO 新名稱;
變更資料表名稱
DROP TABLE 資料表名稱;
刪除資料表
MySQL 欄位資料型態

一、文字型態
種類
Char(N) [ binary]
VarChar(N) [ binary]
TinyBlob
TinyText
Blob
Text
MediumBlob
MediumText
LongBlob
範圍
N=1~255 個字元
binary :分辨大小寫
N=1~255 個字元
binary :分辨大小寫
最大長度255個字元
(2^8-1)
最大長度255個字元
(2^8-1)
最大長度65535個字元
(2^16-1)
最大長度65535個字元
(2^16-1)
最大長度 16777215 個字元
(2^24-1)
最大長度 16777215 個字元
(2^24-1)
最大長度4294967295個字元
(2^32-1)
LongText
最大長度4294967295個字元 (2^32-1)
Enum
集合最大數目為65535
Set
集合最大數目為64
說明
例如
固定長度
std_name cahr(32) not null
可變長度
std_address varchar(256)
Blob (Binary large objects)
memo text not null
儲存二進位資料,且有分大小寫
列舉(Enumeration),
Enum單選、
Set複選
sex enum(1,0)
habby set('玩電玩','睡覺','看電影','聽音樂')
MySQL 欄位資料型態

二、數值
種類
範圍
TinyInt[M]
[UNSIGNED]
-128~127
UNSIGNED : 0~255
SmallInt[M]
[UNSIGNED]
-32768~32767
UNSIGNED :0~ 65535
MediumInt[M]
[UNSIGNED]
-8388608~8388607
UNSIGNED :0~16777215
Int[M]
[UNSIGNED]
-2^31~2^31-1
UNSIGNED : 0~2^32
BigInt[M]
[UNSIGNED]
-2^63~2^63-1
UNSIGNED : 0~2^64
Float [(M,D)]
-3.4E+38~3.4E+38(約)
Double [(M,D)]
Decimal [(M,D)]
-1.79E+308~1.79E+308(約)
說明
例如
num tinyint unsigned
註:
M 為長度,D 為小數
Float 4 bytes,
Double 8 bytes
MySQL 欄位資料型態

三、日期時間
種類
範圍
Date
日期(yyyy-mm-dd)
Time
時間(hh:mm:ss)
DateTime
日期與時間組合(yyyy-mm-dd hh:mm:ss)
TimeStamp
yyyymmddhhmmss
Year
年份yyyy
資料列查詢、新增、修改、刪除
語法
作用
SELECT 欄位1, 欄位2, … FROM 資料表名稱 [WHERE 條件];
查詢資料列
INSERT INTO 資料表名稱 (欄位1, 欄位2, …) VALUES (值1, 值2, …);
新增一筆資料列
UPDATE 資料表名稱 SET 欄位1 = 值1, 欄位2 = 值2, … WHERE 條件;
修改資料列
DELETE FROM 資料表名稱 WHERE 條件;
刪除資料列
MySQL 與 PHP 的結合

存取資料庫的步驟
連接資料庫
選擇資料庫
執行查詢
處理查詢結果 [選用:當查詢的類型是
SELECT時使用]
5. 關閉資料庫[選用]
1.
2.
3.
4.
MySQL 與 PHP 的結合

1.連接資料庫
mysql_connect ([string server], [string username] , [string
password])
1.
2.
3.
4.

主機名稱或位址
使用者的帳號
使用者的密碼
使用者的密碼
2.選擇資料庫
mysql_select_db (string database_name)
1.
資料庫名稱
MySQL 與 PHP 的結合

3.執行查詢
mysql_query (string query)
1. SQL 命令句

4.處理查詢結果
mysql_fetch_array (resource result [, int result_type])
1. 查詢結果的資源辯識物件

5.關閉資料庫
mysql_close ([resource link_identifier])
1. MySQL link 的辨識資源
MySQL 與 PHP 的結合
$DB_ACCOUNT = "root";
 $DB_PASSWD = “1234";
 $DB_HOST
= "localhost";
 $DB_SELECT
= “test";








//資料庫帳戶
//資料庫密碼
//資料庫位置
//資料庫名稱
$LINK = mysql_connect($DB_HOST, $DB_ACCOUNT, $DB_PASSWD);
If ($LINK){
mysql_select_db($DB_SELECT, $LINK);
} else {
echo "<h2>暫時停止服務</h2>";
exit;
}
//將資料寫入資料庫時存成utf8格式
 mysql_query("SET NAMES utf8");
 mysql_query("SET CHARACTER_SET utf8");

MySQL 與 PHP 的結合

建立SQL語法
◦ (查詢) $query = "SELECT * FROM my_table";
◦ (新增) $query = "INSERT INTO my_table
(c1,c2,...) VALUES ( value1,value2, ...)";
◦ (修改) $query = "UPDATE my_table SET
c1='abc' WHERE id='100' “;
◦ (刪除) $query = "DELETE FROM my_table
WHERE id='100' ";

送出SQL語法到資料庫系統
$result = mysql_query($query);

similar documents