WEB ◆ TS Library ◆ 熱衷分享 ◆ 享受教學相長 ◆ 無形的網絡擁有熱情溫度的傳遞

2-12. PDO 方法 新增留言

設計新增的表單

準備好 HTML表單 & CSS樣式,留意表單的active送到哪?

使用 PDO 新增留言資料的方式

參考資料新增的方式: w3schools 的介紹RUNOOB 菜鳥教程 的介紹

參考預處理再執行的方式: RUNOOB 菜鳥教程 的介紹

//連結資料庫=========================================
  require_once('../shared/conn_pdo.php');

//判斷是否要新增資料==================================
  if( isset($_POST['MM_process']) && $_POST['MM_process'])=='insert' ){
  try{
    /************************************
    //方法一:使用問號(?)參數來準備SQL語句
    $sql_str = "INSERT INTO mb (mb_name, mb_content) VALUES (?, ?)";
    
    //執行$conn物件中的prepare()預處理器
    $stmt = $conn->prepare($sql_str);
 
    //接收表單輸入的資料
    $mb_name=$_POST['mb_name'];
    $mb_content=$_POST['mb_content'];
 
    //將接收到的資料執行送到準備好的$stmt物件中
    //$stmt->execute([$mb_name, $mb_content]);
    $stmt->execute(array($mb_name, $mb_content));
    ************************************/
 
    //方法二:使用命名(:名稱)參數來準備SQL語句
    $sql_str = "INSERT INTO mb (mb_name, mb_content) 
                        VALUES (:mb_name, :mb_content)";
    //執行$conn物件中的prepare()預處理器
    $stmt = $conn->prepare($sql_str);
 
    //接收表單輸入的資料
    $mb_name    = $_POST['mb_name'];
    $mb_content = $_POST['mb_content'];
 
    //設定準備好的$stmt物件中對應的參數值
    $stmt->bindParam(':mb_name'    ,$mb_name);
    $stmt->bindParam(':mb_content' ,$mb_content);
 
    //執行準備好的$stmt物件工作
    $stmt->execute();
 
    header('Location:./?page=mb_index');
  }
  catch (PDOException $e ){
    die("Error!: ". $e->getMessage());
  }
}

 

 

go TOP