網站程式設計-PHP 
  1. bootstrap(上)   1-1 bootstrap 介紹   1-2 網頁組成   1-3 導覽列   1-4 backstretch jquery plugin   1-5 上課軟體   1-6 FILEZILLA檔案傳輸軟體 2. Bootstrap(下)   2-1 HTML 語法   2-2 CSS 樣式表   2-3 課後練習   2-4 nav.html 3. PHP開發環境   3-1 sublime text操作技巧   3-2 index.php   3-3 Uniform Server設定 4. PHP簡介與語法   4-1 課後練習(4) 5. PHP邏輯判斷   5-1 if else ifelse 邏輯判斷語句 範例   5-2 foreach 範例   5-3 課後練習(5) 6. MYSQL     6-1-1 MySQL管理工具     6-2-2 建立資料庫     6-2-3 上傳管理工具     6-2-4 登入MySql     6-2-5 修改資料庫預設編碼     6-2-6 新增資料表   6-3 讓PHP連上MySQL     6-3-1 sqlConfig.php     6-3-2 mysql 與 mysqli 撈資料的差異   6-4 常和select一起用的PHP的函數   6-5 課後練習   6-6 課後 練習參考 7. 規劃商品展示資料結構     7-1-1 首頁草稿     7-1-2 商品展示草稿     7-1-3 關於我們草稿     7-1-4 聯絡我們草稿     7-2-5 ugm_kind     7-2-6 ugm_prod     7-2-7 ugm_contact     7-2-8 ugm_system     7-2-9 ugm_files   7-3 假圖 8. 導入PHP樣板引擎   8-1 smarty 樣板引擎   8-2 smarty 空白架構   8-3 config.php   8-4 smarty.php   8-5 nav.php   8-6 theme.html   8-7 Smarty 保留變數 9. 製做「登入後台」畫面   9-1 修改config.php 讓遠端與本機同時使用     9-1-1 空白php的架構     9-2-2 $_SESSION   9-3 表單   9-4 實做 10. 資訊通知中心   10-1 實做 11. 選單管理(上)   11-1 adminer.php 建立資料表   11-2 nav.php   11-3 後台程式框架   11-4 表單     11-4-1 表單架構     11-4-2 Bootstrap 元件架構   11-5 新增記錄   11-6 顯示單筆 12. 選單管理(下)   12-1 列表   12-2 編輯表單   12-3 更新記錄   12-4 刪除記錄   12-5 mysqli   12-6 微調 13. 整理成框架   13-1 套用至前台nav.php   13-2 整理後台nav_m.php 過程   13-3 nav_m.php 完成   13-4 選單的樣板 14. 輪播圖管理(上)   14-1 slider.php   14-2 修改樣板   14-3 增加後台選單   14-4 自動更新 15. 輪播圖管理(下)   15-1 檔案上傳   15-2 樣板增加「上傳表單」 16. 套用至前台輪播圖 17. 商品類別、商品管理   17-1 kind.php   17-2 增加商品資料表 18. 商品管理後台   18-1 op_list 樣板   18-2 op_list()函數   18-3 op_form 樣板   18-4 op_form()函數   18-5 op_insert()函數   18-6 op_show樣板   18-7 op_show()函數   18-8 op_update()函數   18-9 op_delete()函數   18-10 get_block_prod()函數   18-11 前台 index.php 樣板 19. 附註   19-1 日期套件   19-2 ckeditor 網頁編輯器   19-3 表單驗證   19-4 拖曳排序   19-5 分頁   19-6 function.php   19-7 Superslides 輪播   19-8 Google map 20. 線上補充   20-1 GOOGLEMAPS API  
  
    
	
	連線
	
#PHP 5.2.9以後
$mysqli = new mysqli($db_host, $db_user, $db_password, $db_name);
if ($mysqli->connect_error) {
  die('無法連上資料庫 (' . $mysqli->connect_errno . ') '
        . $mysqli->connect_error);
}
#設定資料庫語系
$mysqli->set_charset("utf8");
	 
	close連線
	
$mysqli->close();
	 
	 
	執行SQL指令
	
    $mysqli->query("insert into,update delete") //查詢
    $mysqli->affected_row //傳回更改筆數
    $mysqli->insert_id    //傳回insert 指令所產生之流水號
	 
	 
	select後回傳一個mysqli_result物件
	
    $result->num_rows               //查詢結果的資料筆數
    $result->field_count            //欄位數量
    $mysqli->errno $mysqli->error   //取得select時錯誤訊息
	 
	 
	select結果讀取
	
    $row=$result->fetch_row(); //陣列形態,可用$row[$n]存取
    $row=$result->fetch_array(); //關聯陣列,用$row[$n]或$row[$colname]存取
                                     //,名稱區分大小寫
    $row=$result->fetch_assoc(); //關聯陣列,只能用$row[$colname]存取
    $row=$result->fetch_abject(); //以物件方式存取,$row->colname
    ##每次呼叫都會傳回下一筆,直到最後傳回FALSE
    $result->data_seek($row_number)跳到指定欄位
	 
	 
	資料寫入過濾
	
  #資料過濾
  #http://php.net/manual/en/mysqli.real-escape-string.php
  $_POST['title']  = $mysqli->real_escape_string($_POST['title']);//字串
  $_POST['target'] = intval($_POST['target']);//數字
	 
	 
	資料顯示過濾
	
  #過濾撈出資料
  $DBV['sn'] = intval($DBV['sn']);
  //http://www.w3school.com.cn/php/func_string_htmlspecialchars.asp
  $DBV['title'] = htmlspecialchars($DBV['title'], ENT_QUOTES); // 轉換雙引號和單引號
	 
	檢查資料表是否存在
	
########################################
# 檢查資料表是否存在
########################################
function chk_isTable($tbl_name="")
{
    global $mysqli;
    if(!$tbl_name)return;
    $sql    = "SHOW TABLES LIKE '{$tbl_name}'";
    //die($sql);
    $result = $mysqli->query($sql) or die(printf("Error: %s <br>".$sql, $mysqli->sqlstate));
    if ($result->num_rows)return true; //欄位存在
    return false;//欄位不存在
}
	 
	 
	檢查欄位是否存在
	
########################################
# 檢查某欄位是否存在
########################################
function chk_isColumn($col_name="",$tbl_name="")
{
    global $mysqli;
    if(!$col_name and $tbl_name)return;
    //SHOW COLUMNS FROM `show_kind` LIKE 'sn1'
    $sql    = "SHOW COLUMNS FROM `{$tbl_name}` LIKE '{$col_name}'";
    $result = $mysqli->query($sql) or die(printf("Error: %s <br>".$sql, $mysqli->sqlstate));
    if ($result->num_rows)return true; //欄位存在
    return false;//欄位不存在
}