การจัดการฐานข้อมูลด้วย phpMyAdminง32243...
Transcript of การจัดการฐานข้อมูลด้วย phpMyAdminง32243...
ฐานขอมลเปนสวนหนงของระบบสารสนเทศทจ าเปนตองเกบขอมลและสารสนเทศตางๆ ไวเพอน ามาประมวลผล หรอน ามาแสดง ค านวณงานตางๆ ฐานขอมลทใชกบโปรแกรมภาษาพเอชพทนยมใชคอ ฐานขอมล MySQL เนองจากฐานขอมล MySQL ตดตอกบผใชผานคอมมานดไลน ซงผใชตองพมพค าสงตางๆ ลงไปเอง จงท าใหไมสะดวกตอการใชงาน จากปญหานจะมผสรางเครองมอขนมาชวยใหสามารถจดการกบฐานขอมล MySQL ใหงายขน โดยเครองมอนมชอวา phpMyAdmin ซงเปนเวบแอปพลเคชน ทเขยนดวย PHP โดยตดตอผใชงานในแบบกราฟฟก ประหยดเวลาพมพค าสง และชวยลดขอผดพลาด ท าใหผใหบรการเชาเวบมกจะตดตง phpMyAdmin ใหผใชบรการไดใชงาน ส าหรบผทตดตง AppAServ จะม phpMyAdmin เปนสวนหนงอยแลว
การจดการฐานขอมลดวย phpMyAdmin
ความสามารถของ phpMyAdmin มดงน 1. สรางและลบ Database 2. สรางและจดการ Table เชน เพม record, ลบ record, แกไข record หรอลบ Table,
เพมหรอแกไข field ในตาราง 3. โหลดเทกซไฟล และ ไฟลนามสกล CSV เขาไปเกบเปนขอมลใน Table ได 4. สามารถใชคาสง SQL ได
การเรมใชงาน phpMyAdmin
การเขาใชงานโปรแกรม phpMyAdmin จะใชงานผานโปรแกรม AppServ ดงนนคณตอง
ตดตงโปรแกรม AppServ กอน แลวเปด Internet Explorer พมพท URL วา 127.0.0.1 แลว enter เมอจอภาพแสดงโปรแกรม AppServ แลวใหคลกท phpMyAdmin Database Manager ดงภาพ
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 69
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
หลงจากนนจะปรากฏหนาตางใหปอน username และ password โดยใหใส root ใน
ชอง username สวน password ใหใส password เดยวกนกบตอนทตดตง AppServ วาไดปอน password ของ MySQL ไวอยางไร แลวคลกทปม ok จะปรากฏหนาจอแรกของโปรแกรม phpMyAdmin
หนาจอแรกของโปรแกรม phpMyAdmin
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 70
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
การสรางฐานขอมลใหม สมมตวาตองการสรางฐานขอมลชอ bcom และให encode เปน utf8_unicode_ci
แลวคลกปมสราง ดงภาพ
จะปรากฏฐานขอมล bcom ดงภาพ
การสรางตาราง (Table)
ภายหลงจากทสรางฐานขอมลเรยบรอยแลว phpMyAdmin จะแจงใหเราทราบวาไดท าการสรางฐานขอมล bcom เรยบรอยแลว ซงยงไมมเทเบลใดๆ อยเลย ในทนจะสรางตารางส าหรบเกบขอมลของบคคล โดยการออกแบบใหมเทเบล 4 เทเบล คอ division, employee, province, users ดงน
division (จะใชเกบขอมลหนวยงานของพนกงาน) province (จะใชเกบขอมลจงหวด)
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 71
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
employee (จะใชเกบขอมลพนกงาน) users (จะใชเกบขอมล ผใชโปรแกรม)
ตวอยางการสรางเทเบล division
1. ใหคลกท bcom เพอเลอกฐานขอมลชอน 2. ทชองชอ ใหปอน division และ ปอน 2 ในชอง number of fileds เพราะเทเบล division
จะมฟลดอย 2 ฟลดทตองการสรางนนเอง แลวใหคลกปม ลงมอ 3. ปอนขอมลฟลด เหมอนดงภาพ
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 72
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
ทางดานขวา ของฟลด id ใหเลอก เหมอนรปดานลาง ซงจะหมายถงใหฟลด id เปน primary key ของเทเบล division เสรจแลวใหคลกปมบนทก
ไอคอนมความหมายดงน
ส าหรบแกไข ชอฟลด ชนดของขอมลทเกบ ไพรมารคย หรอคาเรมตนอนๆ ส าหรบลบฟลดนนๆ ออกจากตาราง ส าหรบกาหนดใหฟลดนนๆ เปนไพรมารคย (Primary Key)
ส าหรบกาหนดใหฟลดนนๆ เปนเอกลกษณ (Unique)
ส าหรบกาหนดใหฟลดนนๆ เปนดชน (Index) 4. เสรจสนขนตอนการสรางเทเบล division จะเหนวา ท ดาตาเบส bcom มตวเลข 1 ซง
หมายถงมเทเบลอย 1 เทเบล แลว
5. ขนตอนตอมาเปนการเพมขอมลใหกบเทเบล division
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 73
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
5.1 ใหคลกทเทเบล division 5.2 คลกแถบ แทรก 5.3 ใหปอนขอมลหนวยงาน 1 ผจดการ และ 2 บญช เหมอนภาพดานลาง
5.4 ใหคลกปม ลงมอ 5.5 โปรแกรมจะแสดงขอความวาแถวทถกแทรก 2 หมายถงเพมขอมล 2 เรคอรด ใน
เทเบล division เรยบรอยแลว
5.6 ถาตองการดวามขอมล 2 เรคอรด จรงหรอไม ใหคลกทแถบเปดด จะเหนขอมล 2 แถว
ซงหมายถง 2 เรคอรด ทเราใชโปรแกรม phpMyAdmin สราง
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 74
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
6. ใหสรางขอมลเรคอรดเพม ส าหรบเทเบล division โดยคลกแถบ แทรก แลวปอนขอมล
ดงภาพดานลาง แลวคลกปม ลงมอ
เมอตองการดขอมล ใหคลกแถบเปดด จะเหนขอมลในเทเบล division ม 4 เรคอรด ซงเราสรางเสรจสมบรณแลว
ขนตอนตอมาใหเพมขอมลลกษณะเดยวกบ โดยเพมขอมลของเทเบล employee, province, users โดยสรางขอมล ตามตารางดานลางน
ขอมลของเทเบล employee
ขอมลของเทเบล users
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 75
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
ขอมลของเทเบล province
การใชค าสง SQL ในโปรแกรม PhpMyAdmin
1. การคนหา การคนหาภายในแถบคนหา ท าใหงายตอผใชทตองการความสะดวก และ งายตอการใช
งาน ส าหรบหนาจอของเมนการคนหา แสดงดงภาพ
1.1 เลอกเทเบล division แลวคลกแถบ คนหา 1.2 ชอง คา จะใหปอนขอความทตองการคนหา เชน ปอนเลข 2 1.3 คลกปม ลงมอ
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 76
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
ผลลพธทเหนคอ หนวยงานบญช เพราะเราคนหาดวยรหส id ทเทากบเลข 2 2. การแกไขขอมล
สมมตวาตองการแกไข ขอมลของเทเบล division 2.1 คลกทเทเบล division แลวคลกแถบ เปดด 2.2 ทสวนหนาของแตละเรคอรด จะมรปดนสอ ซงหมายถงการแกไข เรคอรด นนๆ
เชน ตองการแกไขขอมลของหนวยงาน ผจดการ ใหคลกทรปดนสอ แถวท id เทากบ 1 แลวจะเหนจอภาพ ใหแกไขขอมลได ตามภาพดานลางน
เมอตองการ save ใหคลกปม ลงมอ
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 77
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
3. การลบขอมล สมมตวาตองการลบ ขอมลของเทเบล division 3.1 คลกทเทเบล division แลวคลกแถบ เปดด 3.2 ทสวนหนาของแตละเรคอรด จะมรปกากบาทสแดงซงหมายถงการลบเรคอรดนนๆ
3.3 สมมตวา ตองการลบขอมลของเรคอรด ผจดการ ใหคลกเครองหมาย กากบาทแถว
ท id เทากบ 1 จะปรากฏจอภาพ ดงภาพดานลาง เพอยนยนการลบ ถาตองการลบ ใหคลกปม ตกลง และถาไมตองการลบ ใหคลกปมยกเลก
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 78
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
4. การลบเทเบล
การลบเทเบลออกจากฐานขอมลใหคลกท bcom จะเหนเครองหมายกากบาท ในแตละ
แถวของตาราง(เทเบล) ซงหมายถงตองการลบเทเบลใด กคลกทเครองหมายกากบาท ทแถวนน
เราสามารถลบเฉพาะขอมลในเทเบล หรอ ลบขอมลและลบเทเบลนนได การเลอกดานหนาของเทเบล คอการเลอกเทเบลนน ท ากบทเลอก มความหมายหลายอยาง เชน ลบขอมล หมายถง ลบขอมลอยางเดยว แตโครงสรางเทเบลยงอย โยนทง หมายถง ลบขอมล และ ลบโครงสรางเทเบลนนดวย
เมอเราปอนเทเบล division,employee,province,users เขาไปในฐานขอมล bcom แลว จะเหนหนาจอเปนดงน
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 79
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
5. การส ารองขอมล
คลกท bcom แลวคลกแถบ สงออก 5.1 คลกเลอก ฐานขอมลชอ bcom 5.2 คลกแทบ สงออก 5.3 ตรวจสอบเทเบล วาเลอกทงหมด ทกเทเบล หรอไม 5.4 คลกเลอกโครงสราง 5.5 คลกเลอกขอมล 5.6 คลกเลอก sql 5.7 คลกปม ลงมอ
เราจะไดไฟลชอ bcom.sql โดยไฟลน จะมทงโครงสรางของเทเบล และมขอมล อยดวย
6. การน าไฟลส ารองมาใช
6.1 สรางฐานขอมล ชอ bcom
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 80
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
6.2 คลกแทบ Import 6.3 คลกปม Browse… 6.4 เลอกไฟล bcom.sql ทเราเกบไว 6.5 คลกปมลงมอ จะปรากฏดงภาพดานลาง ใหคลกปม Browse… เพอเลอกไฟล
bcom3209.sql แลวคลกปม ลงมอ
หนาจอจะแสดงเทเบล 4 เทเบล แสดงวาน าขอมลเขาฐานขอมลเรยบรอยแลว
ค าอธบายของชนดขอมล
VARCHAR : ส าหรบเกบขอมลประเภทตวอกษร ทกครงทเลอกชนดของฟลดเปนประเภท
น จะตองมการก าหนดความยาวของขอมลลงไปดวย ซงสามารถกาหนดคาไดตงแต 1 - 255 ฟลดชนดน เหมาะส าหรบการเกบขอมลสนๆ เชน ชอ นามสกล หรอหวขอตางๆ เปนตน... ในสวนฟลดประเภทน จะสามารถเลอก "แอตทรบวต" เปน BINARY ได โดยปกตแลวการจดเรยงขอมลเวลาสบคน (query) ส าหรบ VARCHAR จะเปนแบบ case-sensitive (ตวอกษรใหญ และเลกมความหมายแตกตางกน) แตหากระบ "แอตทรบวต" เปน BINARY การสบคนจะไมคานงตวอกษรวาจะเปนตวใหญ หรอตวเลก
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 81
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
CHAR : ส าหรบเกบขอมลประเภทตวอกษร แบบทถกจ ากดความกวางเอาไวคอ 255 ตวอกษร ไมสามารถปรบเปลยนไดเหมอนกบ VARCHAR หากท าการสบคนโดยเรยงตามล าดบ กจะเรยงขอมลแบบ case-sensitive เวนแตจะก าหนดแอตทรบวตเปน BINARY ทจะท าใหการเรยงขอมลเปนแบบ non case-sensitive เชนเดยวกบ VARCHAR
TINYTEXT : ในกรณทขอความยาวๆ หรอตองการทจะคนหาขอความ โดยอาศยฟเจอร FULL TEXT SEARCH ของ MySQL เราอาจจะเลอกทจะไมเกบขอมลลงในฟลดประเภท VARCHAR ทมขอจ ากดแค 256 ตวอกษร แตเราจะเกบลงฟลดประเภท TEXT แทน โดย TINYTEXT น จะสามารถเกบขอมลได 256 ตวอกษร ซงมองเผนๆ กไมตางกบเกบลงฟลดประเภท CHAR หรอ VARCHAR (255) เลย แตจรงๆ มนตางกนตรงท มนท า FULL TEXT SEARCH ได
TEXT : ส าหรบเกบขอมลประเภทตวอกษร เชนเดยวกบ TINYTEXT แตสามารถเกบไดมากขน โดยสงสดคอ 65,535 ตวอกษร หรอ 64KB เหมาะส าหรบเกบขอมลพวกเนอหาตางๆ ทยาวๆ
MEDIUMTEXT : เกบขอมลประเภทตวอกษร เชนเดยวกบ TINYTEXT แตเกบขอมลได 16,777,215 ตวอกษร
LONGTEXT : เกบขอมลประเภทตวอกษร เชนเดยวกบ TINYTEXT แตเกบขอมลได 4,294,967,295 ตวอกษร
TINYINT : ส าหรบเกบขอมลชนดตวเลขทมขนาด 8 บต ขอมลประเภทนเราสามารถก าหนดเพมเตมในสวนของ "แอตทรบวต" ไดวาจะเลอกเปน UNSIGNED หรอ UNSIGNED ZEROFILL
SMALLINT : ส าหรบเกบขอมลประเภทตวเลขทมขนาด 16 บต จงสามารถเกบคาไดตงแต -32768 ถง 32767 (ในกรณแบบคดเครองหมาย) หรอ 0 ถง 65535 (ในกรณ UNSIGNED หรอไมคดเครองหมาย) ซงสามารถเลอก Attribute เปน UNSIGNED และ UNSIGNED ZEROFILL ไดเชนเดยวกบ TINYINT
MEDIUMINT : ส าหรบเกบขอมลประเภทตวเลขทมขนาด 24 บต นนกหมายความวาสามารถเกบขอมลตวเลขไดตงแต -8388608 ไปจนถง 8388607 (ในกรณแบบคดเครองหมาย) หรอ 0 ถง 16777215 (ในกรณทเปน UNSIGNED หรอไมคดเครองหมาย) ซงสามารถเลอก Attribute เปน UNSIGNED และ UNSIGNED ZEROFILL ไดเชนเดยวกบ TINYINT
INT : ส าหรบเกบขอมลประเภทตวเลขทมขนาด 32 บต หรอสามารถเกบขอมลไดตงแต -2147483648 ไปจนถง 2147483647 ครบ (ในกรณแบบคดเครองหมาย) หรอ 0 ถง 4294967295 (ในกรณทเปน UNSIGNED หรอไมคดเครองหมาย) ซงสามารถเลอก Attribute เปน UNSIGNED และ UNSIGNED ZEROFILL ไดเชนเดยวกบ TINYINT
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 82
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
BIGINT : ส าหรบเกบขอมลประเภทตวเลขทมขนาด 64 บต สามารถเกบขอมลไดตงแต -9223372036854775808 ไปจนถง 9223372036854775807 เลยทเดยว (แบบคดเคร องหมาย) หรอ 0 ถง 18446744073709551615 (ในกรณทเปน UNSIGNED หรอไมคดเครองหมาย) ซงสามารถเลอก Attribute เปน UNSIGNED และ UNSIGNED ZEROFILL ไดเชนเดยวกบ TINYINT
FLOAT[(M,D)] : ทกลาวถงไปทงหมด ในตระกล INT นนจะเปนเลขจ านวนเตม หากเราบนทกขอมลทมเศษทศนยม มนจะถกปดทนท ดงนนหากตองการจะเกบคาทเปนเลขทศนยม ตองเลอกชนดขอฟลดเปน FLOAT โดยจะเกบขอมลแบบ 32 บต คอมคาตงแต -3.402823466E+38 ไปจนถง -1.175494351E-38, 0 และ 1.175494351E-38 ถง 3.402823466E+38
DOUBLE[(M,D)] : ส าหรบเกบขอมลประเภทตวเลขทศนยม เชนเดยวกบ FLOAT แตมข น าด เ ป น 6 4 บ ต ส าม า ร ถ เ ก บ ไ ด ต ง แ ต -1 . 7 9 7 6 9 3 1 3 4 8 6 2 3 1 5 7 E+3 0 8 ถ ง -2.2250738585072014E-308 , 0 และ 2.2250738585072014E-308 ถง 1.7976931348623157E+308
DECIMAL[(M,D)] : ส าหรบเกบขอมลประเภทตวเลขทศนยม เชนเดยวกบ FLOAT แตใชกบขอมลทตองการความละเอยดและถกตองของขอมลสง
DATE : ส าหรบเกบขอมลประเภทวนท โดยเกบไดจาก 1 มกราคม ค.ศ. 1000 ถง 31 ธนวาคม ค.ศ. 9999 โดยจะแสดงผลในรปแบบ YYYY-MM-DD
DATETIME : ส าหรบเกบขอมลประเภทวนท และเวลา โดยจะเกบไดตงแต 1 มกราคม ค.ศ. 1000 เวลา 00:00:00 ไปจนถง 31 ธนวาคม ค.ศ. 9999 เวลา 23:59:59 โดยรปแบบการแสดงผล เวลาททาการสบคน (query) ออกมา จะเปน YYYY-MM-DD HH:MM:SS
TIMESTAMP[(M)] : ส าหรบเกบขอมลประเภทวนท และเวลาเชนกน แตจะเกบในรปแบบของ YYYYMMDDHHMMSS หรอ YYMMDDHHMMSS หรอ YYYYMMDD หรอ YYMMDD แลวแตวาจะระบคา M เปน 14, 12, 8 หรอ 6 ตามล าดบ สามารถเกบไดตงแตวนท 1 มกราคม ค.ศ. 1000 ไปจนถงประมาณป ค.ศ. 2037
TIME : ส าหรบเกบขอมลประเภทเวลา มคาไดตงแต -838:59:59 ไปจนถง 838:59:59 โดยจะแสดงผลออกมาในรปแบบ HH:MM:SS
YEAR[(2/4)] : ส าหรบเกบขอมลประเภทป ในรปแบบ YYYY หรอ YY แลวแตวาจะเลอก 2 หรอ 4 (หากไมระบ จะถอวาเปน 4 หลก) โดยหากเลอกเปน 4 หลก จะเกบคาไดตงแต ค.ศ. 1901 ถง 2155 แตหากเปน 2 หลก จะเกบตงแต ค.ศ. 1970 ถง 2069
TINYBLOB : ส าหรบเกบขอมลประเภทไบนาร ไดแก ไฟลขอมลตางๆ, ไฟลรปภาพ, ไฟลมลตมเดย เปนตน คอไฟลอะไรกตามทอพโหลดผานฟอรมอพโหลดไฟลในภาษา HTML โดย TINYBLOB นนจะมเนอทใหเกบขอมลได 256 ไบต
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 83
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
BLOB : ส าหรบเกบขอมลประเภทไบนาร เชนเดยวกบ TINYBLOB แตสามารถเกบขอมลได 64KB
MEDIUMBLOB : ส าหรบเกบขอมลประเภทไบนาร เชนเดยวกบ TINYBLOB แตเกบขอมลได 16 MB
LONGBLOB : ส าหรบเกบขอมลประเภทไบนาร เชนเดยวกบ TINYBLOB แตเกบขอมลได 4GB
SET : ส าหรบเกบขอมลทเปนกลมของขอมลทยอมใหเลอกได 1 คาหรอหลายๆ คา ซงสามารถกาหนดไดถง 64 คา
การเขยนโปรแกรมตดตอกบฐานขอมล
ในการเขยนโปรแกรมตดตอกบฐานขอมลนนมขนตอนดงตอไปน ขนตอนท 1 เชอมตอฐานขอมล ท าไดโดยใชฟงกชน mysql_connect โดยคาทตองสงจะม
สามคาคอ -string Host (IP ของ MySQL ในกรณทอยในเครองเดยวกนใหใส localhost) -string MySQL username -string MySQL password
<?php mysql_connect("host", "mysql_username", "mysql_password"); ?>
ขนตอนท 2 ตดตอกบฐานขอมลทเราจะใชงาน โดยใชค าสง mysql_select_db โดยมคาท
ตองใสคอ -string ชอฐานขอมล -link identifier (จะใสหรอไมใสกได)
<?php mysql_select_db("database", [$link]); ?>
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 84
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
ขนตอนท 3 ปดการเชอมตอ ในเมอมการเชอมตอแลวกตองท าการปดการเชอมตอดวย ถาหากรอ session ใน MySQL หมดแลวใหมนตดการเชอมตอเองเดยวหนวยความจ าของเซรฟเวอรจะหมดเกลยงเสยกอน ถาหากเราใชงานแคคนเดยวกไมเทาไหร แตเขามาสก 1000 คน 1000 connections 1000 processes ถาไมคนหนวยความจ าใหหลงจากใชงานเสรจ หนวยความจ าเทาไหรกไมพอ วธการคนหนวยความจ า ดงน
<?php mysql_close([$link]); ?>
ตวอยางท 6.1
ไฟล connect.php (เชอมตอฐานขอมล)
<?php $host = "localhost"; $user = "root"; $password = "1234"; $dbname = "bcom"; $c = mysql_connect($host,$user,$password); if(!$c) echo "ERROR!! NOT CONNECT!!"; else echo "CONNECTED";
?>
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 85
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
ไฟล save.php (บนทกขอมลลงฐานขอมล) <?php
include "connect.php"; $id="1"; $name_emp = "สรยะ วรรณด"; $emp_picture="1.jpg"; $salary="10000"; $start_date="2001-10-29"; $division_id="2"; $province_id="14"; $sql = "insert into employee values('''$id','$name_emp','$emp_picture',
'$salary','$start_date', '$division_id', '$province_id'”); $result = mysql_db_query($dbname,$sql); if($result) echo "<br>DATA SAVED!!"; else echo "<br>SAVE ERROR!!"; mysql_close();
?>
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 86
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
ไฟล show.php (แสดงขอมลในฐานขอมล)
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head> <body> <?php
include "connect.php"; $sql = "select * from employee order by id desc";
mysql_query("SET NAMES UTF8"); $result = mysql_db_query($dbname,$sql); while($record = mysql_fetch_array($result)) { $id = $record[id]; $name = $record[name_emp];
$picture=$record[emp_picture]; $salary=$record[salary]; $date=$record[start_date]; $division=$record[division_id]; $province=$record[province_id];
echo "<br>$id $name $picture $salary $date $division $province";
echo "<hr>"; }
?> </body> </html>
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 87
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
กจกรรมท 1
ใหนกเรยนฝกปฏบตการสรางฐานขอมล db_เลขประจ าตว และสรางเทเบล 2 เทเบล ซงมโครงสรางขอมล ดงน tb_student
tb_subject แลวใหเพมขอมลของนกเรยนในหองตนเองลงในฐานขอมล 10 เรคคอรด และขอมล
รายวชา 5 เรคคอรด
ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 88
โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร
กจกรรมท 2
ใหนกเรยนเขยนโปรแกรมเพอแสดงขอมลของนกเรยนทเกบในฐานขอมล db_เลขประจ าตว เทเบล tb_student ทกฟลด ไดแก รหสนกเรยน ค าน าหนา ชอ สกล ชน เลขท อาย ทอย โทรศพทมอถอ และ email (ไฟลเชอมตอฐานขอมลใหบนทกชอ connect_เลขประจ าตว.php สวนไฟลแสดงขอมลบนทกชอไฟล lab019_เลขประจ าตว.php)