1 / 51

PHP with MySQL

PHP with MySQL. เนื้อหา. ขั้นตอนในการเรียกใช้ฐานข้อมูลจากเว็บ ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล. ขั้นตอนในการเรียกใช้ฐานข้อมูลจากเว็บ. การเชื่อมต่อกับฐานข้อมูล. การเรียกใช้ฐานข้อมูลผ่านเว็บ. การใช้ภาษา SQL กับฐานข้อมูล MySQL. การยกเลิกการเชื่อมต่อกับฐานข้อมูล.

devin-orr
Download Presentation

PHP with MySQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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) • ทำการเชื่อมต่อฐานข้อมูลโดยต้องระบุ database server,ชื่อผู้ใช้และรหัสผู้ใช้ • เมื่อใช้งานเสร็จต้อง ต้องยกเลิกการเชื่อมต่อด้วยฟังก์ชันmysql_close()

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

  8. connect_inc.php <?php // connect_inc.php define("DB_SERVER", "localhost"); // databaseserver 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) • ทำการเรียกใช้งานฐานข้อมูลผ่านเว็บ โดยเราต้องกำหนดชื่อของฐานข้อมูลที่ต้องการเป็น argumentที่ส่งไป

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

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

  12. mysql_db_query() 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) • ทำการยกเลิกการเชื่อมต่อกับฐานข้อมูลที่เราเชื่อมต่อผ่านคำสั่ง mysql_connect()

  14. ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล

  15. ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล

  16. ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล

  17. ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล

  18. ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล

  19. ฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูล

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

  21. mysql_free_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. mysql_create_db() รูปแบบ int mysql_create_db(stringdbname[,intdb_connect]) • ทำการสร้างฐานข้อมูล สำหรับ db_connectที่เรากำหนด

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

  24. mysql_drop_db() รูปแบบ int mysql_drop_db(stringdbname[,intdb_connect]) • ทำการลบฐานข้อมูล สำหรับ db_connectที่เรากำหนด

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

  26. mysql_fetch_array() รูปแบบ array mysql_fetch_array(intresult[,intresult_type]) • ดึงค่าผลลัพธ์ที่ได้จากคำสั่ง mysql_query()หรือ mysql_db_query() เก็บลงอาร์เรย์เพื่อนำไปใช้งานต่อไป

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

  28. mysql_fetch_row() รูปแบบ array mysql_fetch_row(intresult) • ใช้สำหรับเลื่อนตำแหน่งของตัวชี้ไปยังเรคอร์ดถัดไป (MoveNext)

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

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

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

  32. mysql_num_rows() รูปแบบ int mysql_num_rows(intresult) • ใช้สำหรับนับจำนวนเรคอร์ดที่เรา 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([ intdb_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. mysql_result() รูปแบบ mixed mysql_result(intresult,int record [,mixed 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(intresult) • ใช้สำหรับดึงค่าผลลัพธ์จากฐานข้อมูลไปไว้ใน 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. mysql_data_seek() รูปแบบ int mysql_data_seek(intresult,int 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. mysql_list_dbs() รูปแบบ int mysql_list_dbs([ intdb_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. mysql_list_tables() รูปแบบ int mysql_list_tables(stringdbname[, intdb_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(stringdbname, string table_name[, intdb_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. mysql_tablename() รูปแบบ int mysql_tablename( inthandle, intnumber) • ใช้แสดงชื่อของฐานข้อมูล หรือ ตารางที่เราระบุ

  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 + 1 . ". " . 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 + 1 . ". " . mysql_tablename($db_table, $i) . " <br/>"; } . . .

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

More Related