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

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

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 เบื้องต้น 35010011 2 การออกแบบ ฐานข้อมูล 28010011 3 KING KONG 5002542 4 LORD OF THE RING 4752542 5 ARTIFICIAL INTELLIGENCE 12501033

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 อุทัย เซี่ยงเจ็น 2000-01-01CHIANGMAI 2 พรเทพ โรจนวสุ 2000-02-25LAMPANG 3 สุรางคนา ระวังยศ 1998-05-10NAN 4 SOMKID JAIDEE 1997-10-18CHIANGMAI 5 SOMSRI DEEJAI 1990-07-12PHAYAO

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 112009-01-15 242009-01-15 352009-01-16 412009-01-16

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 121280 1110350 131500 211350 2511250 341475 332500 441475 421280 432500

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() หากต้องการคืนค่าให้กับหน่วยความจำ

55 55 mysql_create_db()  ทำการสร้างฐานข้อมูล สำหรับ db_connect ที่เรา กำหนด int mysql_create_db(string dbname [, int db_connect]) รูปแบบ dbname ชื่อของฐานข้อมูล ที่ต้องการสร้าง db_connect รายละเอียดของ การเชื่อมต่อ ฐานข้อมูล

56 56 mysql_create_db() require(“connect_inc.php”);... mysql_create_db(“pyo”, $db);... เมื่อเราต้องการสร้างฐานข้อมูลชื่อ pyo

57 57 mysql_drop_db()  ทำการลบฐานข้อมูล สำหรับ db_connect ที่เรากำหนด int mysql_drop_db(string dbname [, int db_connect]) รูปแบบ dbname ชื่อของฐานข้อมูล ที่ต้องการลบ db_connect รายละเอียดของ การเชื่อมต่อ ฐานข้อมูล

58 58 mysql_drop_db() require(“connect_inc.php”);... mysql_drop_db(“pyo”, $db);... เมื่อเราต้องการลบฐานข้อมูลชื่อ pyo

59 59 mysql_fetch_array()  ดึงค่าผลลัพธ์ที่ได้จากคำสั่ง mysql_query () หรือ mysql_db_query() เก็บลงอาร์เรย์เพื่อนำไปใช้ งานต่อไป array mysql_fetch_array(int result [, int result_type]) รูปแบบ result ข้อมูลที่ได้มาจาก mysql_query () หรือ mysql_db_query() result_type กำหนดค่าที่จัดเก็บในอาร์เรย์ - associative key ให้กำหนด เป็น MYSQL_ASSOC - numeric key ให้กำหนด เป็น MYSQL_NUM

60 60 mysql_fetch_array() require(“connect_inc.php”);... $sql_login = "SELECT * FROM”; $login_result = mysql_db_query(CURRENT_DB, $sql_login); while($login_rows = mysql_fetch_array($login_result)){ echo “username =”. $login_rows["USERNAME"]; echo “username =”. $login_rows["USERNAME"]; echo “password =”. $login_rows[“PASSWORD"];. “ ; echo “password =”. $login_rows[“PASSWORD"];. “ ;}... เมื่อเราต้องการนำข้อมูล 1 เรคอร์ด ที่ได้จากตารางข้อมูล login มาจัดเก็บไว้ในอาร์เรย์ ชื่อ $ login_rows หากต้องการอ่านข้อมูลทั้งหมด ต้องใช้ loop while เพื่ออ่านข้อมูล ที่มีให้หมด เมื่อเราต้องการนำข้อมูล 1 เรคอร์ด ที่ได้จากตารางข้อมูล login มาจัดเก็บไว้ในอาร์เรย์ ชื่อ $ login_rows หากต้องการอ่านข้อมูลทั้งหมด ต้องใช้ loop while เพื่ออ่านข้อมูล ที่มีให้หมด

61 61 mysql_fetch_row()  ใช้สำหรับเลื่อนตำแหน่งของ ตัวชี้ไปยังเรคอร์ดถัดไป (MoveNext) array mysql_fetch_row(int result) รูปแบบ result ข้อมูลที่ได้มาจาก mysql_query () หรือ mysql_db_query()

62 62 mysql_fetch_array() require(“connect_inc.php”);... $sql_login = "SELECT * FROM login”; $login_result = mysql_db_query(CURRENT_DB, $sql_login); while($login_rows = mysql_fetch_row($login_result)){ echo “username =”. $login_rows[0]; echo “username =”. $login_rows[0]; echo “password =”. $login_rows[1]. “ ; echo “password =”. $login_rows[1]. “ ;}... เมื่อเราต้องการนำข้อมูล 1 เรคอร์ด ที่ได้จากตารางข้อมูล login มาจัดเก็บไว้ในอาร์เรย์ ชื่อ $ login_rows หากต้องการอ่านข้อมูลทั้งหมด ต้องใช้ loop while เพื่ออ่านข้อมูล ที่มีให้หมด เมื่อเราต้องการนำข้อมูล 1 เรคอร์ด ที่ได้จากตารางข้อมูล login มาจัดเก็บไว้ในอาร์เรย์ ชื่อ $ login_rows หากต้องการอ่านข้อมูลทั้งหมด ต้องใช้ loop while เพื่ออ่านข้อมูล ที่มีให้หมด

63 63 mysql_insert_id()  ใช้เรียกแสดงค่า PK ล่าสุด ของตารางที่เราทำการเพิ่ม ข้อมูล  โดยฟิลด์ PK ต้องกำหนด เป็น auto_increment int mysql_insert_id([ int db_connect ]) รูปแบบ db_connect รายละเอียดของ การเชื่อมต่อ ฐานข้อมูล

64 64 mysql_ insert_id () require(“connect_inc.php”);... $insert_author = “INSERT INTO AUTHOR (AUTHOR_NAME) VALUES(‘SOMCHAI DEEJAI’)”; $insert_result = mysql_db_query(CURRENT_DB, $insert_author); $author_id = mysql_insert_id(); echo “The last author_id is ”. $author_id;... เราไม่จำเป็นต้องใส่ค่า author_id ในส่วนของ คำสั่ง insert เนื่องจากว่า author_id มีชนิดเป็น auto_increment เราไม่จำเป็นต้องใส่ค่า author_id ในส่วนของ คำสั่ง insert เนื่องจากว่า author_id มีชนิดเป็น auto_increment หลังจากเพิ่มข้อมูลเสร็จเราสามารถตรวจสอบค่า author_id ได้จากคำสั่ง mysql_insert_id() ที่จะส่งค่ากลับเป็น ค่า auto_increment ล่าสุด ซึ่งก็คือ author_id นั้นเอง หลังจากเพิ่มข้อมูลเสร็จเราสามารถตรวจสอบค่า author_id ได้จากคำสั่ง mysql_insert_id() ที่จะส่งค่ากลับเป็น ค่า auto_increment ล่าสุด ซึ่งก็คือ author_id นั้นเอง

65 65 mysql_num_rows()  ใช้สำหรับนับจำนวนเรคอร์ด ที่เรา SELECT จากการใช้ คำสั่ง mysql_query() หรือ mysql_db_query() หรือ mysql_db_query() int mysql_num_rows(int result) รูปแบบ result ข้อมูลที่ได้มาจาก mysql_query () หรือ mysql_db_query()

66 66 mysql_num_rows () require(“connect_inc.php”);... $sql_login = "SELECT * FROM login”; $login_result = mysql_db_query(CURRENT_DB, $sql_login); $rows = mysql_num_rows($login_result); echo “You have ”. $rows. “ record(s)”;... ระบบจะทำการนับและส่งกลับ จำนวนเรคอร์ดข้อมูลที่อ่านได้จาก คำสั่ง SQL ระบบจะทำการนับและส่งกลับ จำนวนเรคอร์ดข้อมูลที่อ่านได้จาก คำสั่ง SQL

67 67 mysql_affected_rows()  ใช้สำหรับนับจำนวนเรคอร์ด ที่มีการเปลี่ยนแปลงล่าสุด (INSERT, UPDATE, DELETE) int mysql_affected_rows([ int db_connect ]) รูปแบบ db_connect รายละเอียดของ การเชื่อมต่อ ฐานข้อมูล

68 68 mysql_affected_rows() require(“connect_inc.php”);... $sql_login = “DELETE * FROM login”; $login_result = mysql_db_query(CURRENT_DB, $sql_login); $rows = mysql_affected_rows($login_result); echo “You are delete”. $row. “ record(s)”;... ระบบจะทำการนับและส่งกลับ จำนวนเรคอร์ดข้อมูลที่ได้รับ ผลกระทบจาก SQL ในกรณีที่ เป็นการ INSERT, UPDATE, DELETE ระบบจะทำการนับและส่งกลับ จำนวนเรคอร์ดข้อมูลที่ได้รับ ผลกระทบจาก SQL ในกรณีที่ เป็นการ INSERT, UPDATE, DELETE

69 69 mysql_result()  ใช้สำหรับแสดงผลลัพธ์ใน ฐานข้อมูล ตามแถว (record) และคอลัมน์ (Field) ที่กำหนด mixed mysql_result(int result, int record [, mixed field]) รูปแบบ result ข้อมูลที่ได้มาจาก mysql_query () หรือ mysql_db_query() record ตำแหน่งเรคอร์ด field ตำแหน่งฟิลด์ข้อมูล

70 70 mysql_result () require(“connect_inc.php”);... $sql_login = "SELECT * FROM login”; $login_result = mysql_db_query(CURRENT_DB, $sql_login); echo mysql_result($login_result, 0, 1); echo mysql_result($login_result, 1, 0);... เมื่อเราแสดงข้อมูลในเรคอร์ด และฟิลด์ที่เราต้องการ โดยเฉพาะ เจาะจง เมื่อเราแสดงข้อมูลในเรคอร์ด และฟิลด์ที่เราต้องการ โดยเฉพาะ เจาะจง

71 71 mysql_fetch_object()  ใช้สำหรับดึงค่าผลลัพธ์จาก ฐานข้อมูลไปไว้ใน object โดยที่เราจะสามารถระบุชื่อ ฟิลด์ได้เลย int mysql_fetch_object(int result) รูปแบบ result ข้อมูลที่ได้มาจาก mysql_query () หรือ mysql_db_query()

72 72 mysql_fetch_object () require(“connect_inc.php”);... $sql_login = "SELECT * FROM login”; $login_result = mysql_db_query(CURRENT_DB, $sql_login); while($obj = mysql_fetch_object($login_result)){ echo “username =”. obj -> USERNAME. “ ”; echo “username =”. obj -> USERNAME. “ ”; echo “password =”. obj -> PASSWORD. “ ”; echo “password =”. obj -> PASSWORD. “ ”;}... เมื่อเราแสดงข้อมูลในเรคอร์ด ที่ถูกกำหนดในลักษณะ object เมื่อเราแสดงข้อมูลในเรคอร์ด ที่ถูกกำหนดในลักษณะ object

73 73 mysql_data_seek()  ใช้สำหรับระบุตำแหน่งของเร คอร์ดที่ต้องการเริ่มต้น ( เรคอร์ดแรก คือ 0 ) int mysql_data_seek(int result, int record ) รูปแบบ result ข้อมูลที่ได้มาจาก mysql_query () หรือ mysql_db_query() record ตำแหน่งเรคอร์ดที่ ต้องการเริ่มค้นหา

74 74 mysql_data_seek () require(“connect_inc.php”);... $sql_login = "SELECT * FROM login”; $login_result = mysql_db_query(CURRENT_DB, $sql_login); mysql_data_seek($login_result, 1); // start search from record 2 while($login_rows = mysql_fetch_array($login_result)){ echo “username =”. $login_rows[“USERNAME”]; echo “username =”. $login_rows[“USERNAME”]; echo “password =”. $login_rows[“PASSWORD”]. “ ; echo “password =”. $login_rows[“PASSWORD”]. “ ;}...

75 75 mysql_list_dbs()  ใช้สำหรับคืนค่าตัวชี้ (handle) ของฐานข้อมูล ใช้ร่วมกับ mysql_num_rows () เพื่อแสดง จำนวนฐานข้อมูลทั้งหมด หรือใช้ ร่วมกับ mysql_tablename () เพื่อแสดงชื่อของฐานข้อมูลที่เรา กำหนด int mysql_list_dbs([ int db_connect ]) รูปแบบ db_connect รายละเอียดของ การเชื่อมต่อ ฐานข้อมูล

76 76 mysql_list_dbs() require(“connect_inc.php”);... $db_list = mysql_list_dbs($db); echo "You have ". mysql_num_rows($db_list). " database(s)" ;...

77 77 mysql_list_tables()  ใช้สำหรับคืนค่าตัวชี้ (handle) ของฐานข้อมูลที่เราระบุ โดยใช้ ร่วมกับ mysql_list_dbs () เพื่อ แสดงจำนวนตารางข้อมูลทั้งหมด ในฐานข้อมูล หรือใช้ร่วมกับ mysql_tablename () เพื่อแสดง รายชื่อของตาราง int mysql_list_tables(string dbname [, int db_connect ]) รูปแบบ dbname ชื่อของฐานข้อมูล ที่ต้องการแสดง รายละเอียดตาราง db_connect รายละเอียดของ การเชื่อมต่อ ฐานข้อมูล

78 78 mysql_list_tables() require(“connect_inc.php”);... $table_list = mysql_list_tables(CURRENT_DB, $db); echo "You have ". mysql_num_rows($table_list)." table(s) in “.CURRENT_DB. “ database”; ;...

79 79 mysql_list_fields()  ใช้สำหรับคืนค่าตัวชี้ (handle) ของฐานข้อมูล ที่เราระบุ โดยจะแสดง รายชื่อฟิลด์ที่จัดเก็บใน ตารางที่เราต้องการแสดง รายละเอียดฟิลด์ int mysql_list_fields(string dbname, string table_name [, int db_connect ]) รูปแบบ dbname ชื่อของฐานข้อมูลที่ ต้องการแสดง รายละเอียดตาราง table_name ชื่อของตาราง db_connect รายละเอียดของการ เชื่อมต่อฐานข้อมูล

80 80 mysql_list_fields() require(“connect_inc.php”);... $field_list = mysql_list_fields(CURRENT_DB, “login”, $db); while($i < mysql_num_fields($field_list)){ echo “field name = “. mysql_field_name($field_list, $i). “ ”; echo “field name = “. mysql_field_name($field_list, $i). “ ”; echo “field flag = “. mysql_field_flags($field_list, $i). “ ”; echo “field flag = “. mysql_field_flags($field_list, $i). “ ”; echo “field type = “. mysql_field_type($field_list, $i). “ ”; echo “field type = “. mysql_field_type($field_list, $i). “ ”; $i++; $i++;}...

81 81 mysql_tablename()  ใช้แสดงชื่อของฐานข้อมูล หรือ ตารางที่เราระบุ int mysql_tablename( int handle, int number) รูปแบบ handle ตัวชี้ (handle) ของฐานข้อมูล number ลำดับของ ฐานข้อมูลหรือ ตารางที่ต้องการ แสดง

82 82 mysql_tablename() require(“connect_inc.php”);... $db_list = mysql_list_dbs($db); echo "You have ". mysql_num_rows($db_list). " database(s) "; for($i=0; $i < mysql_num_rows($db_list); $i++){ echo $i + 1. ". ". mysql_tablename($db_list, $i). " "; } echo " "; $db_table = mysql_list_tables(CURRENT_DB, $db); echo "You have ". mysql_num_rows($db_table). " table(s) in ". CURRENT_DB. " database "; for($i=0; $i < mysql_num_rows($db_table); $i++){ echo $i + 1. ". ". mysql_tablename($db_table, $i). " "; }...

83 83 สรุป  ในการเชื่อมต่อกับระหว่าง PHP กับ MySQL มีลำดับ การทำงานเพื่อให้สามารถใช้งานฐานข้อมูลกับ PHP ได้ อย่างถูกต้อง คือ  การเชื่อมต่อกับฐานข้อมูล  การเรียกใช้ฐานข้อมูลผ่านเว็บ  การใช้ภาษา SQL กับฐานข้อมูล MySQL  การยกเลิกการเชื่อมต่อกับฐานข้อมูล

84 84 สรุป  ปัญหาอีกอย่างที่พบคือ นิสิตไม่มีความเข้าใจในความ แตกต่างของชนิดข้อมูลตัวเลข สตริง และวันเวลา เพราะว่าเมื่อเราออกแบบตารางข้อมูล และกำหนดชนิด ข้อมูลให้กับข้อมูลแล้วนั้น การที่นิสิตจะ SELECT, INSERT, DELETE, UPDATE ข้อมูลในตารางได้นั้น ต้องระบุชนิดข้อมูลใน SQL เพื่อให้ทราบว่าค่าของฟิลด์ ใดในตารางข้อมูลที่เป็นตัวเลข หรือ สตริง หรือ วันเวลา


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

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


Ads by Google