PHP Arrays - Staff of CIT

Download Report

Transcript PHP Arrays - Staff of CIT

PHP + MySQL (1)
357337 – Web Programming and Web Database
1
PHP + MySQL
 ในการติดต่อกับระบบฐานข้อมูล MySQL โดย PHP ใช้คาสั่ง
mysql_connect(ชือ
่ host, ชือ
่ user, password)
 ตัวอย่าง :
 ถ้าระบบฐานข้อมูล MySQL อยูเ่ ครือ
่ งเดียวกันกับ web
server ชือ
่ host หรือ IP คือ 127.0.0.1
 ชือ
่ user คือ root
 Password คือ ect
 จะเขียน PHP เพือ
่ ติดต่อกับ MySQL ดังนี้
mysql_connect(“127.0.0.1”, “root”, “ect”);
2
PHP + MySQL
• เมือ่ เลิกใช้งาน MySQL แล้วควรจะปิ ดการเชือ
่ มต่อด้วย
คาสั่ง
– mysql_close();
• การเลือกฐานข้อมูลใน MySQL ด้วย PHP
– mysql_select_db(ชือ
่ ฐานข้อมูล)
• การใช้ SQL ผ่าน PHP
– mysql_query(คาสั่ง SQL)
การแทรกข้อมูลลง MySQL ผ่าน PHP
• คาสั่ง SQL ทีใ่ ช้ในการแทรกข้อมูลคือ
INSERT INTO ชือ
่ ตาราง
(ชือ
่ ฟิ ลด์1, …, ชือ
่ ฟิ ลด์ N) VALUES (ค่า1, …, ค่า N)
• ตัวอย่าง :
– ในระบบฐานข้อมูลมีตารางชือ
่ userlogin มีฟิลด์ชือ
่
user และ password และต้องการจะแทรกค่า user
คือ “ect” และ password คือ “kmutnb” จะสามารถ
เขียน PHP ได้ดงั นี้
• mysql_query(“INSERT INTO userlogin
VALUES (‘ect’, ‘kmutnb’)”);
Example 1 (HTML)
บันทึกค่ าลงฐานข้ อมูล
PHP
Database : testDB
ตารางชื่อ userlogin
- user
- passwd
Example 1 (PHP)
การแสดงข้อมูลจาก MySQL
• การดึงข้อมูลจาก MySQL จะทาโดยการใช้คาสั่ง SELECT ของ SQL
• ขัน
้ ตอนการเรียกใช้
– เชือ
่ มต่อระบบฐานข้อมูลด้วย mysql_connect
– เลือกฐานข้อมูลด้วย mysql_select_db
– ส่ง SQL ผ่าน PHP ด้วย mysql_query
– ค่าทีไ่ ด้จากการ query จะถูกส่งกลับจาก mysql_query
• ตัวอย่าง :
– ต้องการดึงค่าทุกค่าจากตารางชือ
่ testTable
– $result = mysql_query(“SELECT * FROM testTable”);
– ค่าทีอ่ อกจากคาสั่ง SELECT จะถูกเก็บไว้ในตัวแปรทีช
่ ือ
่ $result
การนับจานวน output
 เมือ
่ ใช้คาสั่ง SELECT ของ SQL เพือ
่ นาค่าจากฐานข้อมูลออกมา ถ้า
ต้องการจะทราบว่า ผลลัพธ์ทค
ี่ น
ื มานัน
้ มีจานวนกีแ
่ ถว จะเรียกผ่าน PHP
ด้วย
 $num = mysql_numrows($result)
 $result คือตัวแปรทีค
่ น
ื มาจาก mysql_query
 $num คือตัวแปรทีจ่ ะเก็บจานวนแถวของผลลัพธ์
 ตัวอย่าง :
$result = mysql_query(“SELECT * FROM testTable”);
$num = mysql_numrows($result);
การแสดงค่าของ output
• ทา loop ใน PHP ($num คือค่าทีไ่ ด้จาก mysql_numrows)
$i = 0;
while ($i < $num) {
…..
…..
$i++;
}
• นาค่าทีไ่ ด้ใส่ให้กบั ตัวแปร ($result คือตัวแปรทีไ่ ด้คา่ จาก mysql_query)
– ตัวแปรทีจ่ ะรับค่า = mysql_result($result, หมายเลขแถว, ชือ
่ ฟิ ลด์)
– เช่น $user = mysql_result($result, $i, “user”)
Example 2
• กาหนดให้มีตารางชือ
่ username อยูใ่ นฐานข้อมูลชือ
่ testDB มี
ข้อมูลดังนี้
ID
1
2
3
4
5
name
Stephen
Smith
Kevin
Stephane
Christ
้ ต้นด้วย “St”
• ให้เขียน PHP เพือ
่ แสดง ID และชือ
่ ของคนทีม
่ ีชอ
ื่ ขึน
Example 2 (PHP)
ปัญหาการแสดงภาษาไทย ของ PHP+MySQL
• PHP, MySQL ยังมีปญ
ั หากับการแสดงผลภาษาไทย
ดังนัน
้ ควรเพิม
่ 1 คาสั่งเข้าไปเพือ
่ ให้การแสดงผลภาษาไทย
ไม่มป
ี ญ
ั หา
mysql_connect($host, $user, $passwd);
mysql_query(“SET NAMES tis620”);
mysql_select_db($dbname);