การเชื่อมต่อฐานข้อมูล
ระบบฐานข้อมูล
ภาษา SQL
SQL ย่อมาจากคำว่า Structured Query Language เป็นภาษามาตรฐานกลางที่ใช้สำหรับจัดการข้อมูลในฐานข้อมูลด้านต่างๆ เช่น Microsoft Access, MySQL, Oracle เป็นต้น โดยคำสั่งที่ เกี่ยวข้องกับการจัดการฐานข้อมูลประกอบด้วย คำสั่ง
อ่านข้อมูลจากฐานข้อมูล
เพิ่มข้อมูลลงในฐานข้อมูล
แก้ไขข้อมูลในฐานข้อมูล
ลบข้อมูลในฐานข้อมูล
ขั้นตอนการเชื่อมต่อฐานข้อมูล MySQL ด้วยภาษา PHP
ขั้นตอนที่ 1 เชื่อมต่อเซิร์ฟเวอร์ที่จัดการฐานข้อมูล MySQL ของเว็บไซต์
ขั้นตอนที่ 2 เลือกฐานข้อมูลที่ต้องการเชื่อมต่อ
ขั้นตอนที่ 3 สร้างคำสั่ง SQL เพื่อจัดการข้อมูลในฐานข้อมูล
ขั้นตอนที่ 4 Query ข้อมูล คือ การส่งคำสั่ง SQL ไปยังฐานข้อมูลเพื่อนำไปใช้
ขั้นตอนที่ 5 การแสดงผลลัพธ์จากการ Query ข้อมูล
ขั้นตอนที่ 6 ยกเลิกการเชื่อมต่อฐานข้อมูล
ฟังก์ชั่นที่เกี่ยวข้องกับการทำงานบนฐานข้อมูล MySQL ด้วยภาษา PHP
ฟังก์ชันติดต่อกับระบบฐานข้อมูล
ฟังก์ชันยกเลิกการติดต่อกับระบบฐานข้อมูล
ฟังก์ชันเลือกฐานข้อมูล
ฟังก์ชันคิวรีข้อมูล
ฟังก์ชันนับจำนวนข้อมูลผลลัพธ์
ฟังก์ชันอ่านข้อมูล
การทำงานบนฐานข้อมูล MySQL สามารถกระทำได้ 3 รูปแบบคือ
การเชื่อมต่อฐานข้อมูลแบบ Object-oriented
การเชื่อมต่อฐานข้อมูลแบบ Procedural
การเชื่อมต่อฐานข้อมูลแบบ PDO
1. ฟังก์ชันติดต่อกับระบบฐานข้อมูล
การเชื่อมต่อฐานข้อมูลแบบ Procedural
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// สร้างการเชื่อมต่อฐานข้อมูล
$conn = mysqli_connect($servername, $username, $password);
// ตรวจสอบการเชื่อมต่อฐานข้อมูล
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}else{
echo "Connected successfully";
}
?>
hostname หมายถึง ชื่อของเครื่องที่ติดตั้งระบบฐานข้อมูลของ MySQL
username หมายถึง ชื่อของผู้ใช้ที่มีสิทธิ์เข้าใช้ระบบฐานข้อมูลของ MySQL
password หมายถึง รหัสผ่านของ username
2. ฟังก์ชันยกเลิกการติดต่อกับระบบฐานข้อมูล
MySQLi Procedural
mysqli_close($conn);
โดยที่ $conn หมายถึง ตัวแปรการติดต่อกับระบบฐานข้อมูล
ฟังก์ชัน mysqli_close() เป็นฟังก์ชันที่ใช้ในการปิดการเชื่อมต่อฐานข้อมูลที่เปิดไว้ก่อนหน้านี้ ใน PHP
3. ฟังก์ชันเลือกฐานข้อมูล
MySQLi Procedural
$conn = mysqli_connect($servername, $username, $password, $dbname);
$dbname หมายถึง ชื่อระบบฐานข้อมูลที่ต้องการเชื่อมต่อ
4. ฟังก์ชันคิวรีข้อมูล
MySQLi Procedural
mysqli_query($conn, $sql);
$sql คือ คำสั่ง SQL ในรูปแบบของข้อความที่ใช้สำหรับจัดการข้อมูลในฐานข้อมูล
PHP require_once() (ต้องการเพียงครั้งเดียว) เป็นคำสั่งที่ใช้ในการเรียกไฟล์จากภายนอก โดยทำการเรียกค่าโปรแกรมหรือข้อความในไฟล์ปลายทาง คำสั่ง require() เมื่อโปรแกรมไม่พบไฟล์ดังกล่าวโปรแกรมจะหยุดทำงานในทันที require กับ require_once ต่างกันตรงที่ require_one จะมีการนำเข้าไฟล์ดังกล่าวเพียงครั้งเดียว แม้ว่าจะมีการจะมีการ require_once เข้ามาหลายครั้งก็ตาม
var_dump เป็นฟังก์ชันสำหรับ printข้อมูลของตัวแปรออกมา โดยแสดงชนิดของตัวแปรและค่าของตัวแปร
//Example
$sql = "SELECT * FROM student";
$result = mysqli_query($conn, $sql);
5. ฟังก์ชันนับจำนวนข้อมูลผลลัพธ์
MySQLi Procedural
mysqli_num_rows($result);
$result คือตัวแปรที่เก็บข้อมูลที่ได้จากการประมวลผลจากการ คิวรี่ข้อมูล ใช้กับการดึง ข้อมูลจากตารางมาแสดงผล
//Example
$sql = "SELECT * FROM student";
$result = mysqli_query($conn, $sql);
echo mysqli_num_rows($result);
6. ฟังก์ชันอ่านข้อมูล
MySQLi Procedural
mysqli_fetch_assoc
เป็นฟังก์ชันอ่านผลลัพธ์จากการประมวลผลคำสั่ง SQL หลังจากส่งคำสั่ง SQL ไปประมวลผลโดยจะอ่านผลลัพธ์จากการประมวลผลแบบตามลำดับแถว เลื่อนพอยน์เตอร์ไปยังตำแหน่งที่ต้องการอ่านทีละแถว ผลลัพธ์ที่ได้จะอยู่ในรูปแบบ Array
$row = mysqli_fetch_assoc($result);
result คือตัวแปรที่เก็บข้อมูลที่ได้จากการประมวลผลจากคิวรี่ข้อมูล
Index ของ Array คือชื่อฟิลด์ที่อยู่ในตารางข้อมูล
foreach คือ คำสั่งสำหรับการวนลูปการทำงาน ซึ่งมีข้อดีตรงที่ไม่จำเป็นจะต้องกำหนดจำนวนรอบในการทำงาน ซึ่งคำสั่ง forearch จะทำงานจนหมดรอบด้วยตัวเอง
//Example
$sql = "SELECT * FROM student";
$result = mysqli_query($conn, $sql);
if(mysqli_num_rows($result)>0){ //ตรวจสอบจำนวนแถวของข้อมูลที่คิวรีมีจำนวนมากกว่า 0 แถวหรือไม่
while($row = mysqli_fetch_assoc($result)){
echo $row["student_id"].$row["fname"].$row["lname"]."<BR>";
}
}
mysqli_close($conn);
mysqli_fetch_array()
เป็นฟังก์ชันในการอ่านข้อมูลจาก result set ในรูปแบบของ Array แบบคู่ ผลลัพธ์ของฟังก์ชั่นจะอยู่ในรูปแบบ key และ value โดยที่ key ก็คือชื่อฟิลด์หรือคอลัมน์ในฐานข้อมูล และ value คือข้อมูลที่อยู่ในฟิลด์หรือคอลัมน์นั้น ๆ
$row = mysqli_fetch_array ($result);
result คือ ตัวแปรที่เก็บข้อมูลที่ได้จากการประมวลผลจากคิวรี่ข้อมูล
Index ของ Array คือ 0,1,… หรือ ชื่อฟิลด์ที่อยู่ในตารางข้อมูล
foreach คือ คำสั่งสำหรับการวนลูปการทำงาน ซึ่งมีข้อดีตรงที่ไม่จำเป็นจะต้องกำหนดจำนวนรอบในการทำงาน ซึ่งคำสั่ง forearch จะทำงานจนหมดรอบด้วยตัวเอง
//Example
$sql = "SELECT * FROM student";
$result = mysqli_query($conn,$sql);
if(mysqli_num_rows($result)>0){ //ตรวจสอบจำนวนแถวของข้อมูลที่คิวรีมีจำนวนมากกว่า 0 แถวหรือไม่
while($row = mysqli_fetch_array($result))
{
echo $row[0].$row[1].$row[2]."<BR>";
}
}
mysqli_close($conn);