Transcript PHP_Intro

PHP+MySQL
Wensir
Room6307
一、何謂PHP?


PHP的全名為Hypertext Preprocessor,它是個被廣泛運
用在網頁程式撰寫的語言,尤其是它能適用於網頁程式的
開發及能夠嵌入HTML文件之中,它的語法和C、Java及
Perl等語法相似。PHP的目的是為了能使網站開發者可以
快速地撰寫[動態]網頁。
[動態] == 動態的「內容」。
「靜態」網頁的運作方式:
PHP : 「動態」的網頁
Ex: 點我
歸納:

副檔名為 html 的網頁會被 Web Server 直接送出,副檔名為 php 的
網頁會先經 PHP Engine 處理再送出。

含 PHP 碼的網頁,具有迴圈處理的功能,純 HTML 碼的網頁則無。

即使網頁內容含有 PHP 碼,在經處理之後,輸出到使用者面前的只
剩下 HTML 碼,原始內容不但可以受到保護(不被竊取),使用者使
用何種瀏覽器也不會受到侷限。


Ex1:
Ex2:
Source
PHP 是一種內嵌式的語言,它被嵌入 HTML 碼之中,彌補純 HTML
碼無法進行運算處理的缺憾。
Example:
如何將PHP嵌入HTML文件之中

<html>
<head>
<title>Example</title>
</head>
<body>
<?php
echo "Hi, I'm a PHP script!";
?>

</body>
</html>
這個例子,執行之後它能輸出一些文字。
二、PHP能夠做些什麼?

PHP是在伺服器端執行的程式語言,所以任何其它的CGI
程式所能做得到的,它都能做到。像是從表單中收集資料,
或是產生動態的網頁內容,PHP都能做得到!
PHP主要運用於:



伺服器端的程式語言
Command line scripting
撰寫用戶端GUI應用程式
1.建立你的第一個PHP網頁

首先你必需確定你的伺服器支援PHP,且PHP的副檔名為.php,如果
你的伺服器己經支援PHP的功能,你就不需再做任何修改,只要將副
檔名存成.php並且放在網站的目錄之中就行了。

Example:
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo "Hello World<p>"; ?>
</body>
</html>

輸出的結果 :
<html>
<head>
<title>PHP Test</title>
</head>
<body>
Hello World<p>
</body>
</html>
2.利用可用的資源


利用PHP一些有用的東西,像是如果我們要去檢查用戶端所使用的瀏
灠器的種類,我們就可以使用$_SERVER[“HTTP_USER_AGENT”]
這個變數,在PHP的語法中,所有的變數都是以錢($)的符號作為開頭。
Example:
<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>

輸出結果:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

在PHP的語法中,變數的種類相當多。
3.處理表單資料

PHP其中一個強大的功能就是處理HTML表單的資料,表
單內所有的資料都能在你的PHP程式中加以運用 .
Example:
<form action="action.php"
method="POST">
Your name: <input
type="text" name="name" />
Your age: <input type="text"
name="age" />
<input type="submit">
</form>
action.php的內容 :
Hi <?php echo $_POST["name"]; ?>.
You are <?php echo $_POST["age"]; ?> years old.
輸出結果。
Hi Banic.
You are 23 years old.
mySQL

MySQL 是一個快速、多執行緒(multithread)、多使用者且功能強
大的關聯式資料庫管理系統(relational database management
system, RDBMS)

MySQL 並不是一個 Open Source 的計劃,因為其版權在某些情況下
是需要付費的,例如將它與其他產品包裝販售。不過,大體上來說,
個人及非營利單位使用它是免費的,
使用phpMyAdmin

http://140.116.82.21/phpMyAdmin

Mysql 支援透過這個php網頁,可以動態的更改資料庫的內
容.

新增,修改,刪除 等動作,也都可以用這個網頁來達成.
建立新資料庫 (1)
新建立一個叫 test 的資料庫
建立新資料庫 (2)
表格的內容數
建立新資料庫 (3)
Step1:設定欄位的名稱
Step2: 設定此欄位所能存放最大長度
Step3: 按 !
建立新資料庫 (4)
成功 !
用來新增資料到資料庫裡
建立新資料庫 (5)
我們所輸入欄位的名稱
輸入資料內容
再按 !
建立新資料庫 (6)
成功寫入
按瀏覽檢視資料庫狀態
建立新資料庫 (7)
剛才新增的內容
使用者權限
任何位址的意思
php 與 mysqal的操作原理及函式使用
php 與 mysqal的操作原理及函式使用 (1)

一、連結資料庫


建立連線:
$link = mysql_connect(“Mysql主機名稱”, “帳號”, “密碼”)
or die(“無法連接資料庫: ” . mysql_error( ));
6307 MySQL root帳號 密碼wensir1234
選擇資料庫:
mysql_select_db("資料庫名稱") or die("無法選擇資料庫");
php 與 mysqal的操作原理及函式使用 (2)

二、執行SQL語法

建立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) or die("無法送出" . mysql_error( ));

(如果查詢成功,零。如果出現一個錯誤,非零。)
php 與 mysqal的操作原理及函式使用 (3)

三、取得執行SQL語法後的結果 (指查詢部份)
while ( $row = mysql_fetch_array($result) ) {
echo $row[0]."<BR>";
}

四、釋放與Mysql的連線
mysql_free_result($result);
不小心設了ROOT的密碼?



進入MS-DOS
C:\AppServ\mysql\bin>
shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('new_password')
WHERE user='root';
mysql> FLUSH PRIVILEGES; //告訴服務器再次讀入授權表
(把密碼設成空白即可)
Reference:





http://chensh.loxa.edu.tw/php/ php+mySQL教學網
MySQL 中文參考手冊
PHP & MySQL 教學網站:南台科技大學
資料庫系統設計-系統設計
PHP程式設計講義區
C:\AppServ\www\
 Open IE or Firefox or google chrom
 http://localhost
 phpMyAdmin
 <title>這是我的第一個PHP程式</title>












<body>
這是body裡的文字,still use html!<br />
程式05-02 <br />
<?php
//第一個PHP程式
echo "這是PHP輸出的文字,use PHP!<br>";//use PHP
engine輸出的文字
echo "PHP環境訊息函數!<br>";//use phpinfo()函數輸出環
境訊息
phpinfo();
?>
</body>
</html>












程式05-03 <br />
echo and print 指令<br />
<?php
//echo and print 指令
$greeting="Hello";//$greeting為字串變數
$name="Tom";//$name為字串變數
echo $greeting, $name, "!<br>";//顯示變數值
echo "How are you today!";//didn't use any variable
echo "<hr>";//畫水平線
print "$greeting $name !<br>";//使用print 函數
print "How are you today!<br>";//didn't use any variable
?>


















程式05-05 <br />
布林與浮點樹轉換成整數<br />
<?php
$a=true;//設定變數a值為布林值
echo "a=" . $a . "<br>";
$b=(int) $a;//將true轉換成1
echo $b . "<br>";
echo "b=" . $b . "<br>";
$a=false;//設定變數a值為布林值
echo "a=". $a . "<br>";
$b=(int) $a;//將false轉換成0
echo $b . "<br>";
echo "b=" . $b . "<br>";
$a=3.14159;//設定變數a值為浮點數
echo "a=" . $a . "<br>";
$b=(int) $a;//將3.14159轉換成3
echo $b . "<br>";
echo "b=" . $b . "<br>";













程式05-06 <br />
浮點數<br />
<?php
$a=15.82; //設定變數a值為浮點數
echo "a=" . $a . "<br />";//.為連接2個文字用
$a=-3.29; //設定變數a值為浮點數,且為負值
echo "a=" . $a . "<br />";//.為連接2個文字用
$a=45.2754e2; //設定變數a值為浮點數,使用10的指數
echo "a=" . $a . "<br />";//.為連接2個文字用
$a=363.145e-3; //設定變數a值為浮點數,使用10的負指數
echo "a=" . $a . "<br />";//.為連接2個文字用
?>
</body>









程式05-07 <br />
字串變數<br />
<?php
$name1="John"; //設定字串變數name1值為John
$name2="Tom"; //設定字串變數name2值為Tom
echo "Hello! $name1 <br />";//將字串變數name1
顯示出來
echo "Hello! $name2 <br />";//將字串變數name2
顯示出來
$a=-3.29; //設定變數a值為浮點數,且為負值
?>













程式05-08 <br />
跳脫字元<br />
<?php
//單引號
echo 'This is Nic\'s Notebook ! <br />';//(')單引號, Nic's
//雙引號
echo "\"Business Weel\" is not my favorite magazines.
<br />";//雙引號 "Business Weel"
//跳脫字元
echo "Please check your CD in E:\\ directory. <br />";//跳
脫字元 E:\
//錢號$
$price=580;//設定整數變數$price=580
echo "\$price=$price <br />";//顯示$price=580
?>














程式05-09 <br />
布林值與迴圈<br />
<?php
echo "While loop <br />";//顯示While loop
$go_on=true;//設定變數$go_on=true(為真)
$a=1;//設定變數$a=1(起始值)
While ($go_on) //判斷$go_on為真或假
{
echo "$a <br />";//顯示a值
$a++; //$a=$a+1(a值遞增)
if (a>5) //判斷a值是否大於
5,(>5==>true,<=5==>false)
$go_on=false;
}
?>














程式05-10 <br />
陣列<br />
<?php
$m[0]="鼠";//設定陣列m的第一個元素為字串"鼠"
$m[1]="牛";//設定陣列m的第一個元素為字串"牛"
$m[2]="虎";//設定陣列m的第一個元素為字串"虎"
$m[3]="兔";//設定陣列m的第一個元素為字串"兔"
$m[4]="龍";//設定陣列m的第一個元素為字串"龍"
echo "$12生肖的第1個動物是$m[0] <br />";//顯示$m[0}值
echo "$12生肖的第2個動物是$m[1] <br />";//顯示$m[1}值
echo "$12生肖的第3個動物是$m[2] <br />";//顯示$m[2}值
echo "$12生肖的第4個動物是$m[3] <br />";//顯示$m[3}值
echo "$12生肖的第5個動物是$m[4] <br />";//顯示$m[4}值
?>