喵喵笨兔 の 喵喵的家~遊戲天地 - 首頁(上版面)
喵喵笨兔 の 喵喵的家~遊戲天地 - 首頁(左版面)
首  頁 最新消息 遊戲攻略 遊戲影片 遊戲圖片 下載區 學習分享 留言板 FB粉絲團
 喵喵笨兔 の 喵喵的家~遊戲天地 - PHP Data Objects (PDO) 編緝 MySQL 資料庫:新增資料

PHP Data Objects (PDO) 編緝 MySQL 資料庫:新增資料

php 用 PDO 新增 MySQL 資料庫

 MySQL 設定的相關名稱,及範例寫法如下:

  • 伺服器名稱: localhost
  • 使用者帳號: root
  • 使用者密碼: 1234
  • 資料庫名稱: test
  • 資料表名稱: game
  • 資料表欄位名稱: a_id、a_name、a_sort

範例程式碼:

<?php 
try{
$dsn = "mysql:host=localhost;dbname=test;charset=utf8";
$conn = new PDO($dsn, 'root', '1234');
//發生錯誤出現錯誤提醒
$conn -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
//發生錯誤結束資料庫連線並顯示錯誤訊息
die($e -> getMessage());
}
 $input = array(':name' => 笨兔, ':sort' => 測試);
 $sql = "INSERT INTO game (a_name, a_sort) VALUES (:name, :sort)";
 $rs = $conn -> prepare($sql);
 $rs -> execute($input);

//寫法之2
 $sql = "INSERT INTO game (a_name, a_sort) VALUES (?, ?)";
 $rs = $conn -> prepare($sql);
 $rs -> execute(array(笨兔, 測試));
//寫法之3
 $name = '笨兔';
 $sort = '測試';
 $sql = "INSERT INTO game (a_name, a_sort) VALUES ('$name', '$sort')";
 //$rs = $conn -> exec($sql); //此行=下列二行
 $rs = $conn -> prepare($sql);
 $rs -> execute();
?>

實用範例程式碼:筆者設檔名為 db_008_1_add.php,此範例是將【網頁輸入表格】和【SQL新增程式語法】放在同一個 php 網頁檔執行,主要看紅色字部份 。MySQL 相關名稱如下:

<?php
$dbhost = 'localhost'; 
$dbuser = 'root';
$dbpass = '12345678';
$dbname = 'pcgame';
try{
$dsn = "mysql:host={$dbhost};dbname={$dbname};charset=utf8";
$conn = new PDO($dsn, $dbuser, $dbpass);
//發生錯誤出現錯誤提醒
$conn -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch (PDOException $e){
//發生錯誤結束資料庫連線並顯示錯誤訊息
die($e -> getMessage());
} //判斷表單是否送出而執行新增.此以隱藏欄位是否動作及值做雙重判斷 //t_id 筆者在 MySQL 設自動增值,所以就不在新增欄位內 if((isset($_POST['t_insert'])) && ($_POST['t_insert']=='yes')){
$name = addslashes($_POST['t_name']);
$note = addslashes($_POST['t_note']);
$sql = "INSERT INTO learn_demo (t_name, t_note) VALUES ('$name','$note')";
$rs = $conn -> prepare($sql);
$rs -> execute();
header("Location: db_008_1.html"); //此為新增後要前往的網頁,若要停留在新增頁面就不要設此行
}
?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>喵喵笨兔 - PHP Data Objects (PDO) 網頁編輯 MySQL 資料庫:新增(插入)資料</title> </head> <body> <div> <form method="post" name="form"> <table align="center"> <tr> <td>名稱:</td> <td><input type="text" name="t_name" required></td> </tr> <tr> <td>備註:</td> <td><input type="text" name="t_note"></td> </tr> <tr> <td>&nbsp;</td> <td><input type="reset" value="重設"><input type="submit" value="確定"></td> </tr> </table> <? //隱藏欄位用來判斷是否送出,來做新增的動作 ?> <input name="t_insert" type="hidden" value="yes"> </form> </div> </body> </html>

【點擊看範例結果】


 ※PHP Data Objects (PDO) 與 MySQL 資料庫相關應用,可參考笨兔其它隨手筆記:

 ※PHP 其它函數 MySQL 和 MySQLi 連接資料庫相關應用,可參考笨兔の隨手筆記:

笨兔隨手筆記於 2019/6/13

喵喵笨兔 の 喵喵的家~遊戲天地
http://vv0817.tk
http://vvv.lionfree.net
http://qo3op.asuscomm.com/vvv
https://uoedgpkhyfwzmd7zua8myg-on.drv.tw/vvv