• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
PHP & MySQL 教學
 

PHP & MySQL 教學

on

  • 42,864 views

在屏科大的PHP簡易教學

在屏科大的PHP簡易教學

Statistics

Views

Total Views
42,864
Views on SlideShare
39,145
Embed Views
3,719

Actions

Likes
5
Downloads
340
Comments
0

9 Embeds 3,719

http://blog.wu-boy.com 3515
http://www.slideshare.net 188
http://static.slidesharecdn.com 6
http://webcache.googleusercontent.com 4
http://www.linkedin.com 2
http://feeds2.feedburner.com 1
http://74.125.153.132 1
file:// 1
http://cache.baiducontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    PHP & MySQL 教學 PHP & MySQL 教學 Presentation Transcript

    • PHP & MySQL 教學 Lesson 1 : PHP + MySQL 導論 主講者: appleboy appleboy.tw@gmail.com 2009.10.17
    • 講師介紹
      • 本名:吳柏毅 (Bo-Yi Wu.)
      • My Blog: http://blog.wu-boy.com
      • 現任:
        • CodeIgniter 繁體中文官方網站   [ 開發 & 維護 ]
        • PHP- CodeIgniter -Framework-Taiwan   繁體中文翻譯計畫
        • FreeBSD ports committer, maintainer of  several FreeBSD Ports
    • Outline
      • PHP 簡介
      • PHP 環境建立
      • PHP 基礎介紹
      • MySQL 介紹
      • MySQL 備份、還原
      • MySQL 四大語法
    • What is PHP?
      • Server 端所使用的嵌入式語言
      • 廣泛使用、多用途的開放源碼腳本語言
      • 內嵌於 HTML(HTML-embedded)
      • Personal Homepage Program
    • Who use PHP?
      • 國內各大專院校 ( 台、清、交、成… . 中正、中央 )
      • 研究機構 ( 中研院、國網中心… )
        • 國網中心
          • http:// www.nchc.org.tw /
      • 營利事業 ( 中華電信、網路家庭… )
        • 中華電信
          • http://www.cht.com.tw/index.php
        • 網路家庭
          • http:// www.pchom.com.tw
      • 遊戲論壇 ( 巴哈姆特… )
        • http:// www.gamer.com.tw /
    • WHY use PHP ?
      • 最大的優勢 : Free! 免錢 !
      • 跨平台 (Linux FreeBSD Windows)
      • 學習容易,資源很多 ( http://tw.php.net )
      • 架設簡單,一分鐘搞定環境? On Windows
      • 網路資料豐富 ( http://www.google.com )
    • PHP vs ASP vs JSP
      • ASP
        • 微軟平台 ( 雖然有 apache-asp 平台 )
        • 效能差 ( 效能輸給 php)
        • 環境架設困難 debug
      • Jsp
        • 要有 JAVA 基礎
        • 環境架設困難 (Path 路徑 )
    • 網站運作流程 處理 PHP 轉換 MySQL Server Web Server PHP User request receive
    • 環境安裝 Apache PHP MySQL
      • 快速安裝 (1 分鐘 )
        • Appserv ( http://www.appservnetwork.com/ )
        • AppServ 2.5.10
          • Apache 2.2.8
          • PHP 5.2.6
          • MySQL 5.0.51b
          • phpMyAdmin-2.10.3
    • Appserv 架構
      • C:AppServ
        • C:AppServApache2.2 (Apache 設定檔 )
        • C:AppServMySQL (MySQL 目錄 )
          • C:AppServMySQLdata (Database 備份資料 )
        • C:AppServphp5 (PHP library 目錄 )
        • C:AppServwww (Web 主要目錄 http://localhost)
    • Apache
      • DocumentRoot 網站根目錄
      • DirectoryIndex index.php index.htm
      • VirtualHost
      • <VirtualHost *:80>
      • ServerAdmin appleboy.tw@gmail.com
      • DocumentRoot &quot;/usr/local/www/apache22/data/Blog&quot;
      • ServerName blog.wu-boy.com
      • ErrorLog &quot;/var/log/blog.wu-boy.com-error_log&quot;
      • CustomLog /var/log/blog.wu-boy.com-access_log common
      • </VirtualHost>
    • PHP
      • display_errors = On
      • error_reporting = E_ALL & ~E_NOTICE
      • ; default_charset = “iso-8859-1“ ( 註解此行 )
      • register_globals = Off ( 務必關閉 )
        • PHP 6 正式移除
      • magic_quotes_gpc = On
        • PHP 6 正式移除
    • 選擇編輯器?
      • Pspad ( http://www.pspad.com/ ) Windows
      • Notepad++ ( http://tinyurl.com/2kj23k ) Windows
      • Ultraedit ( http://www.ultraedit.com/ ) Windows
      • Vim ( http://www.vim.org/ ) Linux FreeBSD
      • Dreamweaver
    • 撰寫第一之程式 hello word
      • <html>
      • <head>
      • <title>First program</title>
      • </head>
      • <body>
      • <? echo &quot;hello, world&quot;;?>
      • </body>
      • </html>
    • 撰寫程式考量
      • 不用的變數盡量不宣告 ( 會警告 )
      • 變數名稱命名 ( ex: user_id, user_password)
      • 考量程式彈性 ( 不寫死,套變數 )
      • 縮排、括弧對稱
      • 良好的註解程式
    • PHP 註解
      • 可以使用 C, C++, Shell script 形式的註解
      • EX1:
      • /* 這是註解
      • 註解第二行 */
      • EX2:
      • echo “test”; // 這是註解
      • EX3:
      • echo “test”; # 這是註解
    • Use echo
      • What is different “ and ‘ ?
      • $foo = &quot;foobar&quot;;
      • echo 'foo is $foo'; // foo is $foo
      • echo ”$foo”;         // foobar
      • What is different between “ and ‘ ?
    • 變數與常數
      • PHP 的變數型別
        • integer( 整數 )
        • double( 浮點數 )
        • string( 字串 )
        • array( 陣列 )
        • Boolean
        • object( 物件 )
        • resource( 資源 )
        • NULL
    • 變數指派
      • 使用變數前不需要宣告,指派值的時候
      • 變數自然產生
        • 變數名稱大小寫有差異
        • 變數名稱前需加上” $”
      • 型別轉換
        • 在變數前加上 () , () 內打上想要轉換的型別
        • 只是暫時轉換型別,原變數不會改變型別
    • 變數
      • 變數的變數:
        • $$var
      • 常數
        • 利用 define
        • 用在固定不會更動的數值( ex: 資料表名稱)
    • PHP 常用全域變數
      • $_POST
        • 儲存經由表單 POST 的表單資訊
      • $_GET
        • 儲存經由 GET 所得到的資訊
      • $_SERVER
        • 儲存 Server 端的環境變數
    • PHP 常用全域變數 ( 續 )
      • $_FILES
        • 上傳的檔案資訊
      • $_SESSION
      • $_COOKIE
    • PHP 變數常用函式
      • isset ( 判斷是變數是否存在,或者為非 null)
      • unset ( 取消變數 )
      • empty ( 判斷是否為空值 )
    • PHP 算術運算 遞減 -- 累加 ++ 取餘數 % 除法運算 / 乘法運算 * 減法運算 - 加法運算 + 意義 符號
    • 字串運算
      • 利用 .
        • echo $a . $b
        • echo “ 我是” . “ 小惡魔”
        • $a .= $b;
          • $a = $a . $b
    • 設定運算 將右邊的字串加到左邊 .= 將左邊的值對右邊取餘數 %= 將左邊的值除以右邊 /= 將左邊的值乘以右邊 *= 將右邊的值減到左邊 -= 將右邊的值加到左邊 += 將右邊的值連到左邊 ( 一定要會 ) = 意義 符號
    • 邏輯運算 不 (Not) ! 互斥 (Xor) xor 或者 (Or) || or 而且 (And) && and 不等於 != 等於 == 大於或等於 >= 小於或等於 <= 大於 > 小於 < 意義 符號
    • 其它運算符號 三元運算子 ex: echo ($a > $b) ? $a : $b ? : 陣列的元素值 $a = array(“1” => “ 我” ) => 物件的方法或者屬性 $a->setType($b) -> 不顯示錯誤訊息 ( 加在函數前 ) @mysql_query($sql); @ 變數的指標 ( 加在變數前 ) $a = & $b & 變數 $ 意義 符號
    • 流程控制 if
      • 單行 if
      • 多行 else if
      • 省略法 ( 初學者不建議 )
      • MVC 寫法:
        • If($a == $b):
        • elseif:
        • endif;
    • while
      • 用於取出 mysql data source 使用
    • switch
      • Switch($mode)
      • {
        • Case “add”:
        • Break;
        • Case “edit”:
        • Break;
        • Case “delete”:
        • Break;
      • }
    • for
      • 用於處理陣列,或者是連續資料
    • foreach
      • foreach ( array as $value)
        • statement;
      • foreach ( array as $key => $value)
        • statement;
      • 例子:
        • foreach ($_POST as $key => $value)
          • statement;
    • require() VS include()
      • require(): 出現錯誤就中斷程式
      • include(): 出現錯誤能繼續執行
      • 使用時機?
    • switch 迴圈
      • 使用時機
    • Function 函式
      • function myfunc($a, $b)
      • {
        • // 執行一些動作
        • return $c;
      • }
    • Objects 物件
      • <?php class foo {     function do_foo()     {         echo &quot;Doing foo.&quot;;      } } $bar = new foo; $bar->do_foo(); ?>
    • 網址傳值原理 POST & GET
      • global register? PHP6 remove it.
      • $HTTP_GET_VARS = $_GET
      • $HTTP_POST_VARS = $_POST
      • 表單設定
        • <form method=&quot;get&quot;>
        • <form method=“post&quot;>
      • test.php ? forum_id = 5 & sort =add_time
        • ?  掛入變數串
        • forum_id 、 sort  變數
        • 5 、 add_time  變數的值
        • &  串起變數
    • exercise
      • N N 乘法表
      • http://127.0.0.1/example.php?a=9
      • 以上為 99 乘法表
      • http://127.0.0.1/example.php?a =6
      • 以上為 66 乘法表
    • PHP + MYSQL
      • My first job?
      • Why use MySQL Database?
    • MySQL DataBase
      • MySQL 的開發理念:
        • MySQL is a relational database management system.
        • MySQL software is Open Source
        • The MySQL Database Server is very fast, reliable, and easy to use.
      • Select
      • Insert
      • Update
      • Delete
    • phpMyAdmin Web
      • http://www.phpmyadmin.net
      • MySQL 權限與連線設定
      • 預設使用者: root 密碼:空
      • 權限控管: localhost or %
    • Navicat for MySQL GUI
      • http:// www.navicat.com/cht
      非商業版 ( 免費 ) - Lite 版本
    • SQL
      • MySQL
      • Postgresql
      • Oracle
      • MS SQL
      • Sybase
    • Select ( 查詢 )
      • Select * from xxx_table
        • bad
      • Select user_name, user_password from …
        • good
      • SELECT * FROM table WHERE id = ‘aaa’ and passwd = ‘bbb’
      • Left join, right join, GROUP, order by
      • Sub query
    • Insert into
      • INSERT INTO 資料表
        • ( 欄位 1, 欄位 2, 欄位 3)
        • VALUES
        • (‘1’, ‘2’, ‘3’)
      • 欄位全部用上,可省略欄位名稱
      • 流水號欄位,不用寫入
    • Delete 刪除
      • Delete from table where id = ‘’
      • Delete from table where id in (‘1’, ‘2’)
        • Implode
          • $del_id = implode(&quot;,&quot;, $array);
    • Update
      • UPDATE table SET
        • 欄位 1 = ‘ 資料’ ,
        • 欄位 2 = ‘ 資料’ ,
        • WHERE 欄位 = ‘ 資料’
    • Create 資料表
      • Use phpMyAdmin
      • CREATE TABLE `degree_map` (
        • `code` char(1) NOT NULL default '',
        • `title` tinytext NOT NULL,
        • PRIMARY KEY (`code`) )
        • ENGINE=MyISAM DEFAULT CHARSET=utf8;
    • Drop table 刪除資料表
      • DROP TABLE tbl_name
        • tbl_name 資料表
      • DROP DATABASE db_name
    • MySQL 備份、恢復
      • Use mysqldum command to backup your database
      • User mysql command to restore your database
        • Mysqldump –u root –p database_name > db.sql
        • Mysql –u root –p database_name < db.sql
        • --default-character-set=latin1, utf8
    • exercise
      • Use phpMyAdmin Create one database
      • Create table project_news
        • news_id
        • news_title
        • news_desc
        • add_time
        • edit_time
    • html
      • CSS, javascript, html
      • Form 表單
    • Exercise & Homework
      • 留言板系統
        • show.php 取出資料
        • add.php 新增資料
        • other.php 修改刪除資料
      • Database 規劃