2009年7月17日 星期五

PHP 筆記

簡介

PHP(PHP: Hypertext Preprocessor)超文件預處理器

  1. 自由軟體(Open Source)
  2. 伺服器端(server side)
  3. 嵌入式(embedded into HTML)
  4. 跨平台(cross platform)
  5. 描述性(scripting language)

最新發展

  • PHP5 的改變將遠大於 2000 年的 PHP3 轉 PHP4 過程﹐PHP 寫作方式可望出現較大轉變﹐這是因為 PHP 導入物件導向設計的概念所致。
  • PHP5 預計將採用新的 language engine(Zend 2.0)﹐這顆新引擎除了可以支援物件導向的語法外﹐還將大幅提昇 PHP 的效能。
  • 效能的增進來自於 PHP4 使用傳值方式複製物件﹐PHP5 改用傳 reference 方式﹐這樣讓 CPU 與 memory 的使用效率大幅增加﹐再加上快取機制﹐讓 PHP5 在 scripting language 環境更具競爭力。
  • PHP5 的物件模式 有機會成為 .NET 與 J2EE-based 應用程式的網頁前端 Web front end 平台。具體的說,就是和 Java Server Pages (JSP) 競爭 J2EE 平台網頁前端的角色。
  • PHP5 的 object model 語法極為類似 Java ﹐這會吸引 J2EE 程式設計者來使用﹐因為 PHP5 就像是 Java 版的 scripting language。
參考來源:2005 年的 PHP5

PHP 環境設定

自訂安裝

快速安裝

有一些計畫是將上述軟體打包並且加上了如phpMyAdmin 等方便設定的工具,常見的如下所示

  • WebServ (最新版本:1.2.9.0  發行日期:200-08-01)
  • AppServ (最新版本:2.5.4a   發行日期:2005-01-15)
    • Apache Web Server Version 1.3.31
    • PHP Script Language Version 5.0.1
    • MySQL Database Version 4.0.20
    • Zend Optimizer Version 2.5.3
    • phpMyAdmin Database Manager Version 2.6.0
  • FoxServ (最新版本:3.1 Beta1 發行日期:2003-01-16)
    • Apache 2.0.39
    • PHP 4.2.2
    • MySQL
    • Zend Optimizer
    • phpMyAdmin

相關設定

Apache設定

  1. 在 C:\ 下建一個 tmp 目錄
  2. 重新啟動 Apache

MySql設定

PHP設定

  1. 啟動偵錯模式:將php.ini中的display_errors = On
  2. 重新啟動 Apache

phpMyAdmin設定

  1. 用 phpMyAdmin刪除匿名使用者帳號,修改 root 帳號和密碼 (http://localhost/phpMyAdmin/)
  2. 修改phpMyAdmin的設定檔config.inc.php
    1. 設定 phpMyAdmin 安裝的網址:
      $cfg['PmaAbsoluteUri'] = 'http://140.128.51.xxx/phpMyAdmin/';
    2. 設定 phpMyAdmin 認證模式:$cfg['Servers'][$i]['auth_type'] = 'http';
      改為http表示透過瀏覽器輸入帳號及密碼進行MySQL的認證
      若用config,則需要將密碼寫入檔案,設定如下
      1. 設定 phpMyAdmin 使用者:
        $cfg['Servers'][$i]['user'] = 'root';
      2. 設定 phpMyAdmin 密碼:
        $cfg['Servers'][$i]['password'] = '密碼';
  3. 重新整理瀏覽器輸入帳號和密碼進入 phpMyAdmin 管理 MySQL

PHP資料庫連結

  • 建立mysql短暫連線:mysql_connect("主機名稱/位置", "資料庫帳號", "資料庫密碼") or die("無法建立mysql連線");
  • 建立mysql持續連線:mysql_pconnect("主機名稱/位置", "資料庫帳號", "資料庫密碼") or die("無法建立mysql連線");
  • 結束mysql連線:mysql_close("主機名稱");
  • 連結資料庫:mysql_select_db("test") or die("無法連結資料庫");
  • 送出執行語法:$sql = mysql_query("select * from list ");
  • 顯示SQL錯誤訊息:mysql_query($sql) or die(mysql_error( ));
  • 計算查詢後的筆數:$rows = mysql_num_rows($sql);
  • 以欄位為索引用陣列方式 回傳各欄位資料:$list = mysql_fetch_array($sql);
  • 用 list( )將查詢的每一欄位分別指定變數:list($name, $email, $sex) = mysql_fetch_array($sql);

參考書目

  • 吳弘凱(工友)/鄧文淵編著, PHP4網頁程式語言MySQL資料庫快速入門, 松崗, ISBN:9572237144

網路資源

沒有留言:

張貼留言