[PHP/MySQL]後端實用小筆記(一){善用include節省重複撰寫連線資訊(PDO)}

一般我們在撰寫後端PHP最常需要的就是和伺服器連線訪問資料庫,功能複雜的資料庫連線次數更是頻繁,這時候就可以把連線資訊和建立連線的程式碼片段寫在一個.php檔中,每次需要連線時只需要先include包含連線動作的php檔案就可以了,並且主機資訊有一棟時也只需更改這個檔案即可,這樣也方便維護。
phpmysql

連線資訊檔

<?php
$host = "localhost";
$username = "xxxx";//填入SQL的連線帳號
$password = "xxxx";//填入SQL對應連線帳號的密碼
$database = "xxxx";//填入要訪問DB的名稱
$connect = new PDO("mysql:host=$host; dbname=$database", $username, $password,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//用PDO產生連線,之後直接使用$connect這個變數就可以操作資料
?>

include取用資料

登入用的php可以如下撰寫。

<?php
   try
   {
      include("connect.php");//引入連線資訊檔
      $usr=$_POST["user"];//透過前端POST得來的帳號
      $pwd=$_POST["pass"];//透過前端POST得來的密碼
      $cusr=$connect->query("SELECT * FROM member_info WHERE member_mail='$usr';");//透過$connect取得資料
      $cpwd=$connect->query("SELECT * FROM member_info WHERE member_mail='$usr' AND member_password='$pwd';");
      $rowusr=$cusr->fetch(PDO::FETCH_BOTH);
      $rowpwd=$cpwd->fetch(PDO::FETCH_BOTH);
      if(empty($usr) || empty($pwd)){
        echo "帳號密碼空白";
        header("location:/login.html");
      }else
      if(empty($rowusr[0])){
        echo "用戶不存在!";
        header("location:/login.html");
      }else
      if(empty($rowpwd[0])){
        echo "密碼不正確!";
        header("location:/login.html");
      }else{
        session_start();//寫入session
        $_SESSION["user_email"] = $_POST["user_email"];
        $_SESSION["password"] = $_POST["password"];
        header("location:/index.html");//進入主頁
      }
      $connect = null;
   }
   catch(PDOException $error)
   {
      $message = $error->getMessage();
      echo $message;
      header("location:/login.html");
   }
?>

 

在〈[PHP/MySQL]後端實用小筆記(一){善用include節省重複撰寫連線資訊(PDO)}〉中有 1 則留言

發佈回覆給「匿名訪客」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *