利用PHP將資料存入MySQL PHP 5 Tutorial 範例:

Slides:



Advertisements
Similar presentations
分享人:張益源. 個人資料介紹 姓名:張益源 畢業:體育系 97 級 專長:田徑、籃球、游泳 任教學校:慈濟大學實驗國民小學 學校職務:體育兼資訊老師.
Advertisements

模块五 动态网页技术 任务五 查询记录 任务一 表单设计制作 任务二 简单动态的 ASP 页面制作任务三 页面与数据库的集成任务四 添加记录 任务六 电商系统融入网站.
《计算机网络技术》 动态网页制作技术 常用HTML控件课程积件 杨 姝.
童詩教學 爬格子工作坊 互動過程 童詩教學法 教學教案 相關資源 心得 林士翔
白玉苦瓜 余光中.
基于JSP搭建Web应用程序.
資料庫系統 曾俊雄.
第8讲 HTML与PHP基础 静态网页 vs. 动态网页.
主讲 冷清波 城乡规划管理与法规 主讲 冷清波
模块1 网页设计基础 实训1 体验HTML文档 1.1 网页基础知识 1.2 网站配色方案 1.3 网站设计常用软件
香港明愛 綜合家居照顧服務 PWD個案分享.
第3章 超文本标记语言(HTML) 3.1 基本结构标记 3.2 文本格式标记 3.3 超链接标记<A></A>
Google 自訂搜尋 淡江大學資訊中心 專案發展組 朱家璁 2009/10/6.
PHP+MySQL互動式網頁程式設計班 PHP進階語法 講師:林業峻 CSIE, NTU 6/ 19, 2010.
PHP+MySQL互動式網頁程式設計班 範例實作-網路留言板 講師:林業峻 CSIE, NTU 6 /27, 2010.
Hello World 體驗實作第一個JSP程式.
Chap5 PHP程式設計進階 授課講師:.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 9 章 常數.
第 2 章 必備的 HTML 與 CSS 重點.
【PHP程式設計】 實作一:計算BMI.
非常好色軟體應用研習 數立科技推廣組 2009/02/17.
第四章 網頁表單與資料傳遞.
留言版 1.先Create一個留言板的table
Introduction to PHP part3
2018/11/11 CGI程式設計進階 (for UNIX Perl) 國立中央大學電算中心 陳慶彥.
PHP +MySQL快速入門 Lesson 4.
XSS & SQL Injection理論 2014/7/29 許子謙.
PHP與SQL語法存取MySQL SQL
Ch13 存取MySQL資料庫 實作:會員管理系統
PHP 5 入門基礎 第一個PHP 程式 PHP 資料型態.
課程名稱:資料庫系統 授課老師:李春雄 博士
電子商務網站建制技術與實習(II) 助教:江宜政 吳昇洋.
Cookie 存取Cookie Cookie有效時間 Session 存取Session session 函數
Lesson 5 :基礎應用二(留言版) (2004/08/20).
進階 WWW 程式設計 -- PHP Regular Expression 靜宜大學資訊管理學系 蔡奇偉副教授 2004
操作資料庫 教授:楊維邦 教授 助教:黃存賢 陳廷宣.
PHP+MySQL互動式網頁程式設計班 檔案上傳程式設計 講師:林業峻 CSIE, NTU 7 / 3, 2010.
檔案上傳 所謂檔案上傳,就是將檔案由客戶端的主機,藉 由瀏覽器傳送到伺服器的資料夾上。
HTML5简介 WEB前端三剑客之一.
JavaScript 靜宜大學 資管系 楊子青.
PHP 程式流程控制結構.
勇闖鵲橋II:資料庫 靜宜大學資管系 楊子青
App Inventor2呼叫PHP存取MySQL
第一讲 J2EE基础 博和利初级培训 —开发技能.
PHP與SQL語法存取MySQL SQL
网 站 设 计 与 建 设 Website design and developments
Cookie 存取Cookie Cookie有效時間 Session 存取Session session 函數
PHP 變數、常數與運算子 變數 常數 運算子
URTracker功能介绍.
架站實做—AppServ
HTML 103 互動式網頁.
Ch09 在網頁之間傳遞資訊 網頁程式設計.
表單(Form).
本學期資訊系統開發專案之技術架構.
HTTP 1.1 Method OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT
HTML 103 互動式網頁 助教:黃毓瑩.
PHP與SQL語法存取MySQL SQL
XML備份MySQL資料庫 <html> <head>
利用PHP將資料存入MySQL PHP 5 Tutorial 範例:
新生與傳承 不同世代諮商心理師的交會 臺北市諮商心理師公會 107年度公會主辦研習課程.
105學年度第二次 總務會議 106年03月28日(二) 下午14:00 第二教學研討室.
第6章 PHP的数据采集.
Unity回傳統計資訊程式說明: 填寫回傳資訊網址(theUrl)。
Lesson 4 :基礎應用一(計數器) (2005/01/27).
PHP程式設計 五、程式流程控制結構 建國科技大學 資訊管理學系 饒瑞佶.
網頁設計實務- PHP 與資料庫整合.
課程名稱:資料庫系統 授課老師:李春雄 博士
97學年度專題成果展 畢業生職業性向測驗系統之建立
第1章 HTML基础 主讲人:刘泰然 经济管理学院.
表单页面 表单是用户利用浏览器对Web站点网络数据库进行查询的一种界面,用户利用表单可以输入信息或选择选项等,然后将这些信息提交给服务器进行处理。通过表单,既可以将浏览器的信息发送到Internet服务器上,同时表单也可以使用户与站点的浏览者交互或从浏览者那里收集信息。它是网页的设计者和使用者相互交流的工具。表单对象包括文本域(单行、多行、密码)、列表、菜单、复选框、单选框、按钮等。
Presentation transcript:

利用PHP將資料存入MySQL PHP 5 Tutorial http://www.w3schools.com/php/ 範例: <!DOCTYPE html> <html> <body> <?php echo "My first PHP script!"; ?> </body> </html> 存成first.php (utf-8),上傳到學校網路空間 ftp://www1.pu.edu.tw (於html建立php資料夾),再到瀏覽器測試 http://www1.pu.edu.tw/~帳號/php/first.php 若改成 echo "楊子青的第一個PHP動態網頁"; 執行後變亂碼

1. PHP正確顯示中文碼:作法1 加入head網頁標籤,宣告utf-8編碼方式 <!DOCTYPE html> <meta charset="utf-8"> </head> <body> <?php echo "楊子青的第一個PHP動態網頁"; ?> </body> </html>

PHP正確顯示中文碼:作法2 全部去掉html網頁標籤,直接在php宣告 <?php header("Content-Type:text/html; charset=utf-8"); echo "楊子青的第一個PHP動態網頁"; ?>

2. PHP 5 MySQLi Functions http://www.w3schools.com/php/php_ref_mysqli.asp

PHP mysqli_connect() Function http://www.w3schools.com/php/func_mysqli_connect.asp mysql主機, 資料庫使用者, 資料庫密碼, 資料庫名稱

先確認自己的MySQL資料庫 Free MySQL Hosting https://www.freemysqlhosting.net/ 按login,輸入帳號(email)及密碼 查詢資料庫相關資訊:

重要!!! Free MySQL Hosting大約每週都會詢問是否要持續使用,會再mail認證 請儘量一週內就要登入 按上方的超鏈節進行展延 沒做的話,免費測試帳號將會到期無法再用

利用PHP連線到自己的SQL Server header("Content-Type:text/html; charset=utf-8"); $con = mysqli_connect("sql6.freemysqlhosting.net","sql6137207","sut4eKeMIl","sql6137207"); // Check connection if (mysqli_connect_errno()) { echo "無法連線到MySQL: " . mysqli_connect_error(); } ?> 存成insert.php上傳,如果資料庫資訊有誤(例如密碼錯誤): mysql主機, 資料庫使用者, 資料庫密碼, 資料庫名稱

PHP mysqli_query() Function http://www.w3schools.com/php/func_mysqli_query.asp

3. 新增一筆記錄 存成insert.php上傳,用瀏覽器執行 <?php header("Content-Type:text/html; charset=utf-8"); $con = mysqli_connect("sql6.freemysqlhosting.net","sql6137207","sut4eKeMIl","sql6137207"); // Check connection if (mysqli_connect_errno()) { echo "無法連線到MySQL: " . mysqli_connect_error(); } // Perform queries mysqli_query($con,"INSERT INTO member (UserName,UserPass,UserBest) VALUES ('test','xyz',33)"); mysqli_close($con); ?> 存成insert.php上傳,用瀏覽器執行

查詢關聯表內容

修改1:提供新增是否成功訊息 <?php header("Content-Type:text/html; charset=utf-8"); $con = mysqli_connect("sql6.freemysqlhosting.net","sql6137207","sut4eKeMIl","sql6137207"); // Check connection if (mysqli_connect_errno()) { echo "無法連線到MySQL: " . mysqli_connect_error(); } // Perform queries $sql="INSERT INTO member (UserName,UserPass,UserBest) VALUES ('test','xyz',33)"; if (mysqli_query($con,$sql)){ echo "您的資料新增成功"; else { echo "您的資料新增失敗"; mysqli_close($con); ?>

修改2:密碼欄位加密 <?php header("Content-Type:text/html; charset=utf-8"); $con = mysqli_connect("sql6.freemysqlhosting.net","sql6137207","sut4eKeMIl","sql6137207"); // Check connection if (mysqli_connect_errno()) { echo "無法連線到MySQL: " . mysqli_connect_error(); } // Perform queries $sql="INSERT INTO member (UserName,UserPass,UserBest) VALUES ('test',PASSWORD('xyz'),33)"; if (mysqli_query($con,$sql)){ echo "您的資料新增成功"; else { echo "您的資料新增失敗"; mysqli_close($con); ?>

問題:中文欄位值,存入後變亂碼 <?php header("Content-Type:text/html; charset=utf-8"); $con = mysqli_connect("sql6.freemysqlhosting.net","sql6137207","sut4eKeMIl","sql6137207"); // Check connection if (mysqli_connect_errno()) { echo "無法連線到MySQL: " . mysqli_connect_error(); } // Perform queries $sql="INSERT INTO member (UserName,UserPass,UserBest) VALUES ('靜宜資管',PASSWORD('xyz'),33)"; if (mysqli_query($con,$sql)){ echo "您的資料新增成功"; else { echo "您的資料新增失敗"; mysqli_close($con); ?>

修改3:中文欄位值轉換 <?php header("Content-Type:text/html; charset=utf-8"); $con = mysqli_connect("sql6.freemysqlhosting.net","sql6137207","sut4eKeMIl","sql6137207"); // Check connection if (mysqli_connect_errno()) { echo "無法連線到MySQL: " . mysqli_connect_error(); } // Perform queries $sql="INSERT INTO member (UserName,UserPass,UserBest) VALUES (CONVERT(_utf8 '靜宜資管' USING utf8),PASSWORD('xyz'),33)"; if (mysqli_query($con,$sql)){ echo "您的資料新增成功"; else { echo "您的資料新增失敗"; mysqli_close($con); ?>

4. 讓PHP讀取使用者輸入之變數 參數傳遞方法1: GET (網址傳遞參數,較不安全) <?php header("Content-Type:text/html; charset=utf-8"); $user = $_GET['user']; $pwd = $_GET['pwd']; $best = $_GET['best']; echo $user."; ".$pwd."; ".$best; ?> 存成get.php (utf-8)上傳,再到瀏覽器測試 http://www1.pu.edu.tw/~帳號/php/get.php?user=楊子青&pwd=123456&best=50 ?後接欲傳入的參數 並以&相連接

讓PHP讀取使用者輸入之變數 參數傳遞方法2: POST (非透過網址參數,較安全) <?php header("Content-Type:text/html; charset=utf-8"); $user = $_POST['user']; $pwd = $_POST['pwd']; $best = $_POST['best']; echo $user."; ".$pwd."; ".$best; ?> 存成post.php (utf-8)上傳,再到瀏覽器測試 http://www1.pu.edu.tw/~帳號/php/post.php?user=楊子青&pwd=123456&best=50

GET與POST比較 http://www.w3schools.com/tags/ref_httpmethods.asp 於網址列顯示傳遞參數,安全性堪慮 參數傳遞較安全

如何將參數透過POST傳遞? 撰寫網頁,利用表單方式傳遞參數 <!DOCTYPE html> <html> <body> <form action="post.php" method="post"> 帳號: <input type="text" name="user"><br> 密碼: <input type="password" name="pwd"><br> 最高分: <input type="number" name="best" min="0" max="100"><br> <input type="submit" value="送出"> </form> </body> </html> 存成form.html (utf-8)上傳,再到瀏覽器測試 http://www1.pu.edu.tw/~帳號/php/form.html,輸入測試資料

5.表單及POST傳遞參數,新增資料 利用表單方式傳遞參數,呼叫insert.php新增資料 <!DOCTYPE html> <body> <form action="insert.php" method="post"> 帳號: <input type="text" name="user"><br> 密碼: <input type="password" name="pwd"><br> 最高分: <input type="number" name="best" min="0" max="100"><br> <input type="submit" value="新增資料"> </form> </body> </html> 存成insert.html (utf-8)上傳

讓insert.php傳入參數 <?php header("Content-Type:text/html; charset=utf-8"); $con = mysqli_connect("sql6.freemysqlhosting.net","sql6137207","sut4eKeMIl","sql6137207"); // Check connection if (mysqli_connect_errno()) { echo "無法連線到MySQL: " . mysqli_connect_error(); } $user = $_POST['user']; $pwd = $_POST['pwd']; $best = $_POST['best']; // Perform queries $sql="INSERT INTO member (UserName,UserPass,UserBest) VALUES (CONVERT(_utf8 '$user' USING utf8),PASSWORD('$pwd'),$best)"; if (mysqli_query($con,$sql)){ echo "您的資料新增成功"; else { echo "您的資料新增失敗"; mysqli_close($con); ?>