งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

1 PHP with MySQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "1 PHP with MySQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา."— ใบสำเนางานนำเสนอ:

1 1 PHP with MySQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

2 2 เนื้อหา  ขั้นตอนในการเรียกใช้ฐานข้อมูลจากเว็บ  ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล

3 3 ขั้นตอนในการเรียกใช้ฐานข้อมูลจากเว็บ การเชื่อมต่อกับฐานข้อมูลการเชื่อมต่อกับฐานข้อมูล การเรียกใช้ฐานข้อมูลผ่านเว็บการเรียกใช้ฐานข้อมูลผ่านเว็บ การใช้ภาษา SQL กับฐานข้อมูล MySQL การยกเลิกการเชื่อมต่อกับฐานข้อมูลการยกเลิกการเชื่อมต่อกับฐานข้อมูล

4 4 ขั้นตอนในการเรียกใช้ฐานข้อมูลจากเว็บ  ในการเขียน PHP เพื่อเรียกใช้ฐานข้อมูลมีขั้นตอนต่างๆ ดังต่อไปนี้  การเชื่อมต่อกับฐานข้อมูล  การเรียกใช้ฐานข้อมูลผ่านเว็บ  การใช้ภาษา SQL กับฐานข้อมูล MySQL  การยกเลิกการเชื่อมต่อกับฐานข้อมูล

5 5 การเชื่อมต่อกับฐานข้อมูล  การเชื่อมต่อกับฐานข้อมูล MySQL ในภาษา PHP สามารถใช้ 2 ฟังก์ชัน ต่อไปนี้ คือ  mysql_connect()  mysql_pconnect()

6 6 mysql_connect()  ทำการเชื่อมต่อฐานข้อมูลโดย ต้องระบุ database server, ชื่อผู้ใช้ และรหัสผู้ใช้  เมื่อใช้งานเสร็จต้อง ต้อง ยกเลิกการเชื่อมต่อด้วย ฟังก์ชัน mysql_close() int mysql_connect(localhost, username, password) รูปแบบ localhost ชื่อ database server หรือ IP Address ของ database server usernameชื่อผู้ใช้ฐานข้อมูล passwordรหัสผ่าน

7 7 mysql_pconnect()  ทำการเชื่อมต่อฐานข้อมูลโดย ต้องระบุ database server, ชื่อผู้ใช้ และรหัสผู้ใช้  เมื่อใช้งานเสร็จต้อง จะยกเลิก การเชื่อมต่อโดยอัตโนมัติ int mysql_pconnect(localhost, username, password) รูปแบบ localhost ชื่อ database server หรือ IP Address ของ database server usernameชื่อผู้ใช้ฐานข้อมูล passwordรหัสผ่าน

8 8 connect_inc.php หมายเหตุ : define("CURRENT_DB", “ict"); จะขึ้นอยู่กับว่านิสิตตั้งชื่อ หรือ กำหนดให้ใช้งานฐานข้อมูลตัวใด ในที่นี้ สมมติให้ใช้ฐานข้อมูลชื่อ ict define("CURRENT_DB", “ict"); จะขึ้นอยู่กับว่านิสิตตั้งชื่อ หรือ กำหนดให้ใช้งานฐานข้อมูลตัวใด ในที่นี้ สมมติให้ใช้ฐานข้อมูลชื่อ ict SET NAMES TIS620 กรณีที่เรียกใช้งานฐานข้อมูล ภาษาไทยแล้วแสดงเป็น ?????

9 9 การเรียกใช้ฐานข้อมูลผ่านเว็บ  ทำการเรียกใช้งาน ฐานข้อมูลผ่านเว็บ โดยเรา ต้องกำหนดชื่อของ ฐานข้อมูลที่ต้องการเป็น argument ที่ส่งไป int mysql_select_db(string dbname) รูปแบบ dbname ชื่อของฐานข้อมูล โดยเราต้องใช้คำสั่ง mysql_connect () ก่อนถึงจะสามารถใช้ คำสั่งนี้ได้

10 10 การใช้ภาษา SQL มาใช้กับฐานข้อมูล MySQL  เรียกใช้งาน SQL ที่เรา ต้องการ แต่ต้องใช้ร่วมกับ mysql_select_db() int mysql_query(string query, [int db_connect]) รูปแบบ query คิวรีที่เรียกใช้ ฐานข้อมูล db_connect ตัวแปรที่ใช้เชื่อมต่อ กับฐานข้อมูลที่ได้ จาก mysql_connect()

11 11 การใช้ภาษา SQL มาใช้กับฐานข้อมูล MySQL  เรียกใช้งาน SQL ที่เรา ต้องการ โดยไม่ต้องใช้ ร่วมกับ mysql_select_db() int mysql_db_query(string dbname, string query, [int db_connect]) รูปแบบ dbname ชื่อของฐานข้อมูล query คิวรีที่เรียกใช้ฐานข้อมูล db_connect ตัวแปรที่ใช้เชื่อมต่อกับ ฐานข้อมูล ที่ได้จาก mysql_connect()

12 12 mysql_db_query() require(“connect_inc.php”);... $sql_login = "SELECT * FROM login WHERE USERNAME='". $username. "' AND PASSWORD='". $password. "'"; WHERE USERNAME='". $username. "' AND PASSWORD='". $password. "'"; $login_result = mysql_db_query(CURRENT_DB, $sql_login); $login_rows = mysql_fetch_array($login_result); $user = $login_rows["USERNAME"];... เมื่อเราต้องการประมวลผล คำสั่ง SQL ที่เตรียมเอาไว้ เมื่อเราต้องการประมวลผล คำสั่ง SQL ที่เตรียมเอาไว้

13 13 การยกเลิกการเชื่อมต่อกับฐานข้อมูล  ทำการยกเลิกการ เชื่อมต่อกับฐานข้อมูล ที่เราเชื่อมต่อผ่านคำสั่ง mysql_connect() int mysql_close(db_connect) รูปแบบ db_connect ตัวแปรที่เก็บการ เชื่อมต่อฐานข้อมูล ด้วยคำสั่ง mysql_connect ( ) ไว้

14 14 DESIGN: Database ชื่อตารางรายละเอียดตาราง AUTHORข้อมูลผู้แต่ง BOOKข้อมูลหนังสือ CUSTOMERข้อมูลลูกค้า LOGINข้อมูลผู้ใช้งานระบบ ORDERSข้อมูลการสั่งซื้อหนังสือ ORDER_DETAILข้อมูลรายละเอียดการสั่งซื้อหนังสือ PUBLISHERข้อมูลสำนักพิมพ์

15 15 สร้างฐานข้อมูล  ให้นิสิตสร้างฐานข้อมูลตาม SECTION ของตัวเอง คือ 171 หรือ 172 โดยที่ตัวอย่าง ผู้สอนจะใช้ชื่อฐานข้อมูลเป็น ICT  โดยสร้างฐานข้อมูลให้ support ภาษาไทย โดยไป กำหนดที่ tis620_thai_ci

16 16 DESIGN: Relation AUTHOR_IDAUTHOR_NAMECUST_IDCUST_NAMEBIRTHDATECUST_ADDRORDER_IDCUSTOMER_IDORDER_DATEORDER_IDBOOK_IDUNITPRICEBOOK_IDBOOK_NAMEPRICEAUTHOR_IDPUBLISHER_IDSTOCK AUTHOR BOOK CUSTOMER ORDERS ORDER_DETAIL PK FK NON-KEY PUBLISHER_IDPUBLISHER_NAME PUBLISHER USERNAMEPASSWORD LOGIN

17 17 TABLE: LOGIN ชื่อฟิลด์ชนิดคำอธิบาย USERNAME (PK) VARCHAR(20) ชื่อผู้ใช้ PASSWORDVARCHAR(40)รหัสผ่าน

18 18 TABLE: LOGIN

19 19 TABLE: LOGIN

20 20 TABLE: LOGIN USERNAMEPASSWORD admin1234 super9999 การออกแบบ Login แบบนี้มีความปลอดภัยต่ำเนื่องจากรหัสผ่าน สามารถถูกเปิด อ่านได้โดยตรงจาก MySQL เสียงต่อการถูกเจาะระบบได้ การแก้ปัญหาเบื้องต้น คือการเข้ารหัส password ด้วยฟังก์ชันการเข้ารหัส เช่น sha1()

21 21 login.php Login.php Login.php

Username: Username: Password: Password:

22 22 check_login.php

23 23 TABLE: AUTHOR ชื่อฟิลด์ชนิดคำอธิบาย AUTHOR_ID (PK) SMALLINT (auto_increment) รหัสผู้แต่ง AUTHOR_NAMEVARCHAR(100)ชื่อผู้แต่ง

24 24 TABLE: AUTHOR

25 25 TABLE: AUTHOR

26 26 TABLE: AUTHOR AUTHOR_IDAUTHOR_NAME 1 กิตติ ภักดีวัฒนะกุล 2 ยุทธพล ระลึกมูล 3 Russell Norving 4 Peter Jackson

27 27 TABLE : BOOK ชื่อฟิลด์ชนิดคำอธิบาย BOOK_ID (PK) SMALLINT (auto_increment) รหัสหนังสือ BOOK_NAMEVARCHAR(100)ชื่อหนังสือ PRICEFLOATราคาต่อหน่วย STOCKSMALLINTสินค้าคงคลัง AUTHOR_IDSMALLINTรหัสผู้แต่ง PUBLISHER_IDSMALLINTรหัสสำนักพิมพ์

28 28 TABLE : BOOK

29 29 TABLE : BOOK

30 30 TABLE : BOOK BOOK_IDBOOK_NAMEPRICESTOCKAUTHOR_IDPUBLISHER_ID 1 PHP เบื้องต้น การออกแบบ ฐานข้อมูล KING KONG LORD OF THE RING ARTIFICIAL INTELLIGENCE

31 31 TABLE : CUSTOMER ชื่อฟิลด์ชนิดคำอธิบาย CUST_ID (PK) SMALLINT (auto_increment) รหัสลูกค้า CUST_NAMEVARCHAR(100)ชื่อลูกค้า BIRTHDATEDATEวันเดือนปีเกิดลูกค้า CUST_ADDRVARCHAR(255)ที่อยู่ของลูกค้า

32 32 TABLE : CUSTOMER

33 33 TABLE : CUSTOMER

34 34 TABLE : CUSTOMER CUST_IDCUST_NAMEBIRTHDATECUST_ADDR 1 อุทัย เซี่ยงเจ็น CHIANGMAI 2 พรเทพ โรจนวสุ LAMPANG 3 สุรางคนา ระวังยศ NAN 4 SOMKID JAIDEE CHIANGMAI 5 SOMSRI DEEJAI PHAYAO

35 35 TABLE : ORDERS ชื่อฟิลด์ชนิดคำอธิบาย ORDER_ID (PK) MEDIUMINT (auto_increment) รหัสการสั่งซื้อ CUST_IDVARCHAR(100)รหัสลูกค้า ORDER_DATEDATEวันเดือนปีที่สั่งซื้อ

36 36 TABLE : ORDERS

37 37 TABLE : ORDERS

38 38 TABLE : ORDERS ORDER_IDCUST_IDORDER_DATE

39 39 TABLE : ORDER_DETAIL ชื่อฟิลด์ชนิดคำอธิบาย ORDER_ID (PK) MEDIUMINTรหัสการสั่งซื้อ BOOK_ID (PK) SMALLINTรหัสหนังสือ UNITTINYINTจำนวนสินค้าที่สั่งซื้อ PRICEFLOATราคาต่อหน่วย

40 40 TABLE : ORDER_DETAIL

41 41 TABLE : ORDER_DETAIL

42 42 TABLE : ORDER_DETAIL ORDER_IDBOOK_IDUNITPRICE

43 43 TABLE: PUBLISHER ชื่อฟิลด์ชนิดคำอธิบาย PUBLISHER_ID (PK) SMALLINT (auto_increment) รหัสสำนักพิมพ์ PUBLISHER_NAMEVARCHAR(100)ชื่อสำนักพิมพ์

44 44 TABLE: PUBLISHER

45 45 TABLE: PUBLISHER

46 46 TABLE: PUBLISHER PUBLISHER_IDPUSLISHER_NAME 1 บริษัท เคทีพี คอมพ์ แอนด์ คอนซัลท์ จำกัด 2 HOLLYWOOD PUBLISHING 3 PRENTICE HILL PUBLISHING 4 SAMS PUBLISHING

47 47 ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล ฟังก์ชันคำอธิบาย mysql_free_result()ใช้สำหรับคืนหน่วยความจำให้ระบบ mysql_create_db()ใช้สำหรับสร้างฐานข้อมูล mysql_drop_db()ใช้สำหรับลบฐานข้อมูล mysql_fetch_array() ใช้สำหรับดึงผลลัพธ์จากฐานข้อมูลไปเก็บ ไว้ในอาร์เรย์ mysql_fetch_row() ใช้สำหรับเลื่อนตำแหน่งของตัวชี้ข้อมูลไป ยังเรคอร์ดถัดไป

48 48 ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล ฟังก์ชันคำอธิบาย mysql_insert_id() ใช้สำหรับเรียกดู PK กรณีที่เรากำหนด เป็น auto_increment ภายหลังจากการ เพิ่มข้อมูล mysql_num_rows() ใช้สำหรับนับจำนวนเรคอร์ด (SELECT) mysql_affected_rows() ใช้สำหรับนับจำนวนเรคอร์ดที่มีการ เปลี่ยนแปลงล่าสุด (INSERT, UPDATE, DELETE)

49 49 ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล ฟังก์ชันคำอธิบาย mysql_result() ใช้สำหรับแสดงผลลัพธ์ในฐานข้อมูล ตาม แถว (record) และคอลัมน์ (Field) ที่ กำหนด mysql_fetch_object() ใช้สำหรับดึงค่าผลลัพธ์จากฐานข้อมูลไปไว้ ใน object โดยที่เราจะสามารถระบุชื่อ ฟิลด์ได้เลย mysql_data_seek() ใช้สำหรับระบุตำแหน่งของเรคอร์ดที่ ต้องการเริ่มต้น ( เรคอร์ดแรก คือ 0 )

50 50 ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล ฟังก์ชันคำอธิบาย mysql_list_dbs() ใช้สำหรับคืนค่าตัวชี้ (handle) ของ ฐานข้อมูล ใช้ร่วมกับ mysql_num_rows () เพื่อแสดงจำนวน ฐานข้อมูลทั้งหมด หรือใช้ร่วมกับ mysql_tablename () เพื่อแสดงชื่อของ ฐานข้อมูลที่เรากำหนด

51 51 ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล ฟังก์ชันคำอธิบาย mysql_list_tables() ใช้สำหรับคืนค่าตัวชี้ (handle) ของ ฐานข้อมูลที่เราระบุ โดยใช้ร่วมกับ mysql_list_dbs () เพื่อแสดงจำนวน ตารางข้อมูลทั้งหมดในฐานข้อมูล หรือใช้ ร่วมกับ mysql_tablename () เพื่อแสดง รายชื่อของตาราง

52 52 ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล ฟังก์ชันคำอธิบาย mysql_list_fields() ใช้สำหรับคืนค่าตัวชี้ (handle) ที่จะนำไป หารายละเอียดเกี่ยวกับคอลัมน์ในตาราง และฐานข้อมูลที่กำหนด mysql_tablename() ใช้แสดงชื่อของฐานข้อมูล หรือ ตารางที่เรา ระบุ

53 53 mysql_free_result()  ใช้สำหรับคืนหน่วยความจำที่ จัดเก็บผลลัพธ์ข้อมูลจากการ คิวรีข้อมูลจากฐานข้อมูล int mysql_free_result(int result) รูปแบบ result ตัวแปรที่เก็บผลลัพธ์ จากการคิวรีข้อมูล จากฐานข้อมูล

54 54 mysql_free_result() require(“connect_inc.php”);... $sql_login = "SELECT * FROM login WHERE USERNAME='". $username. "' AND PASSWORD='". $password. "'"; WHERE USERNAME='". $username. "' AND PASSWORD='". $password. "'"; $login_result = mysql_db_query(CURRENT_DB, $sql_login); $login_rows = mysql_fetch_array($login_result); $user = $login_rows["USERNAME"]; mysql_free_result($login_result);... เมื่อเราเลิกใช้งาน result ที่ได้จาก mysql_db_query() หากต้องการคืนค่าให้กับหน่วยความจำ เมื่อเราเลิกใช้งาน result ที่ได้จาก mysql_db_query() หากต้องการคืนค่าให้กับหน่วยความจำ

งานนำเสนอที่คล้ายกัน


Ads by Google