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

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

PHP with MySQL.

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


งานนำเสนอเรื่อง: "PHP with MySQL."— ใบสำเนางานนำเสนอ:

1 PHP with MySQL

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

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

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

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

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

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

8 connect_inc.php หมายเหตุ : <?php // connect_inc.php
define("DB_SERVER", "localhost"); // database server define("USERNAME", "root"); // username define("PASSWORD", ""); // no password define("CURRENT_DB", “ict"); // current database $db = mysql_pconnect( DB_SERVER, USERNAME, PASSWORD); ?> หมายเหตุ : define("CURRENT_DB", “ict"); จะขึ้นอยู่กับว่านิสิตตั้งชื่อ หรือ กำหนดให้ใช้งานฐานข้อมูลตัวใด ในที่นี้ สมมติให้ใช้ฐานข้อมูลชื่อ ict

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

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

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

12 mysql_db_query() เมื่อเราต้องการประมวลผล คำสั่ง SQL ที่เตรียมเอาไว้
require(“connect_inc.php”); $sql_login = "SELECT * FROM login 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 ที่เตรียมเอาไว้

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

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

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

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

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

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

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

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

21 mysql_free_result() เมื่อเราเลิกใช้งาน result
require(“connect_inc.php”); $sql_login = "SELECT * FROM login 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() หากต้องการคืนค่าให้กับหน่วยความจำ

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

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

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

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

26 array mysql_fetch_array(int result [, int result_type])
รูปแบบ 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 ดึงค่าผลลัพธ์ที่ได้จากคำสั่ง mysql_query() หรือ mysql_db_query() เก็บลงอาร์เรย์เพื่อนำไปใช้งานต่อไป

27 mysql_fetch_array() เมื่อเราต้องการนำข้อมูล 1 เรคอร์ด
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 “password =” . $login_rows[“PASSWORD"]; . “<br/>; } เมื่อเราต้องการนำข้อมูล 1 เรคอร์ด ที่ได้จากตารางข้อมูล login มาจัดเก็บไว้ในอาร์เรย์ ชื่อ $login_rows หากต้องการอ่านข้อมูลทั้งหมด ต้องใช้ loop while เพื่ออ่านข้อมูล ที่มีให้หมด

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

29 mysql_fetch_array() เมื่อเราต้องการนำข้อมูล 1 เรคอร์ด
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 “password =” . $login_rows[1] . “<br/>; } เมื่อเราต้องการนำข้อมูล 1 เรคอร์ด ที่ได้จากตารางข้อมูล login มาจัดเก็บไว้ในอาร์เรย์ ชื่อ $login_rows หากต้องการอ่านข้อมูลทั้งหมด ต้องใช้ loop while เพื่ออ่านข้อมูล ที่มีให้หมด

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

31 mysql_insert_id () เราไม่จำเป็นต้องใส่ค่า author_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 ได้จากคำสั่ง mysql_insert_id() ที่จะส่งค่ากลับเป็น ค่า auto_increment ล่าสุด ซึ่งก็คือ author_id นั้นเอง

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

33 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

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

35 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

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

37 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); เมื่อเราแสดงข้อมูลในเรคอร์ด และฟิลด์ที่เราต้องการ โดยเฉพาะ เจาะจง

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

39 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 . “<br/>”; echo “password =” . obj -> PASSWORD . “<br/>”; } เมื่อเราแสดงข้อมูลในเรคอร์ด ที่ถูกกำหนดในลักษณะ object

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

41 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 “password =” . $login_rows[“PASSWORD”] . “<br/>; }

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

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

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

45 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”; ;

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

47 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) . “<br/>”; echo “field flag = “ . mysql_field_flags($field_list, $i) . “<br/>”; echo “field type = “ . mysql_field_type($field_list, $i) . “<br/>”; $i++; }

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

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

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

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


ดาวน์โหลด ppt PHP with MySQL.

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


Ads by Google