การเชื่อมต่อฐานข้อมูล

ระบบฐานข้อมูล

ภาษา SQL

SQL ย่อมาจากคำว่า Structured Query Language เป็นภาษามาตรฐานกลางที่ใช้สำหรับจัดการข้อมูลในฐานข้อมูลด้านต่างๆ เช่น Microsoft Access, MySQL, Oracle เป็นต้น โดยคำสั่งที่ เกี่ยวข้องกับการจัดการฐานข้อมูลประกอบด้วย คำสั่ง

  • อ่านข้อมูลจากฐานข้อมูล

  • เพิ่มข้อมูลลงในฐานข้อมูล

  • แก้ไขข้อมูลในฐานข้อมูล

  • ลบข้อมูลในฐานข้อมูล

ขั้นตอนการเชื่อมต่อฐานข้อมูล MySQL ด้วยภาษา PHP

ขั้นตอนที่ 1 เชื่อมต่อเซิร์ฟเวอร์ที่จัดการฐานข้อมูล MySQL ของเว็บไซต์

ขั้นตอนที่ 2 เลือกฐานข้อมูลที่ต้องการเชื่อมต่อ

ขั้นตอนที่ 3 สร้างคำสั่ง SQL เพื่อจัดการข้อมูลในฐานข้อมูล

ขั้นตอนที่ 4 Query ข้อมูล คือ การส่งคำสั่ง SQL ไปยังฐานข้อมูลเพื่อนำไปใช้

ขั้นตอนที่ 5 การแสดงผลลัพธ์จากการ Query ข้อมูล

ขั้นตอนที่ 6 ยกเลิกการเชื่อมต่อฐานข้อมูล

ฟังก์ชั่นที่เกี่ยวข้องกับการทำงานบนฐานข้อมูล MySQL ด้วยภาษา PHP

  1. ฟังก์ชันติดต่อกับระบบฐานข้อมูล

  2. ฟังก์ชันยกเลิกการติดต่อกับระบบฐานข้อมูล

  3. ฟังก์ชันเลือกฐานข้อมูล

  4. ฟังก์ชันคิวรีข้อมูล

  5. ฟังก์ชันนับจำนวนข้อมูลผลลัพธ์

  6. ฟังก์ชันอ่านข้อมูล

การทำงานบนฐานข้อมูล 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);