หากต้องการทดสอบว่า PHP สามารถเชื่อมต่อกับ MariaDB และสามารถดำเนินการค้นหาฐานข้อมูลได้หรือไม่ เราสามารถสร้างตารางทดสอบที่มีข้อมูลทดสอบและค้นหาเนื้อหาจากสคริปต์ PHP โดยเราต้องเริ่มจากสร้างฐานข้อมูลและกำหนดค่าผู้ใช้ MariaDB ใหม่ให้เหมาะสมเพื่อเข้าถึงฐานข้อมูล
ขั้นแรก ให้เชื่อมต่อกับคอนโซล MariaDB โดยใช้บัญชี root
sudo mariadb
ในการสร้างฐานข้อมูลใหม่ ให้เรียกใช้คำสั่งต่อไปนี้จากคอนโซล MariaDB
CREATE DATABASE example_database;
ตอนนี้ให้สร้างผู้ใช้ใหม่และให้สิทธิ์เต็มรูปแบบแก่พวกเขาในฐานข้อมูลที่สร้างขึ้น
คำสั่งต่อไปนี้จะสร้างผู้ใช้ใหม่ชื่อ example_user ที่จะตรวจสอบความถูกต้องด้วยรหัสผ่าน เรากำลังกำหนดคำว่า password ของผู้ใช้เป็นรหัสผ่าน แต่คุณควรแทนที่ค่านี้ด้วยรหัสผ่านที่คุณกำหนดเอง
CREATE USER 'example_user'@'%' IDENTIFIED BY 'password';
ถัดไป ให้สิทธิ์ผู้ใช้รายนี้จัดการฐานข้อมูล example_database
GRANT ALL ON example_database.* TO 'example_user'@'%';
การดำเนินการนี้จะทำให้ผู้ใช้ example_user มีสิทธิ์ใช้งานฐานข้อมูล example_database เต็มรูปแบบ และเป็นการป้องกันไม่ให้ผู้ใช้รายนี้สร้างหรือแก้ไขฐานข้อมูลอื่นบนเซิร์ฟเวอร์
จากนั้น FLUSH PRIVILEGES เพื่อให้แน่ใจว่าสิทธิ์ใช้งานได้รับการบันทึกและพร้อมใช้งานในเซสชันปัจจุบัน
FLUSH PRIVILEGES;
จากนั้นออกจาก MariaDB Shell
exit
สามารถทดสอบได้ว่าผู้ใช้ใหม่มีสิทธิ์ที่เหมาะสมหรือไม่โดยเข้าสู่ระบบคอนโซล MariaDB อีกครั้ง โดยใช้รายละเอียดผู้ใช้และรหัสผ่านที่เรากำหนดขึ้นมาเอง
mariadb -u example_user -p
โปรดสังเกต -p flag ในคำสั่งนี้ ซึ่งจะแจ้งให้ป้อนรหัสผ่านที่ใช้เมื่อสร้าง example_user หลังจากล็อกอินเข้าสู่คอนโซล MariaDB แล้ว ให้ยืนยันว่าคุณสามารถเข้าถึง example_database ได้
SHOW DATABASES;
จะแสดงให้เห็นผลลัพธ์ดังนี้
ขั้นที่สอง ต่อไปคือสร้างตารางทดสอบ
สร้างตารางทดสอบชื่อ todo_list จากคอนโซล MariaDB โดยการรันคำสั่งต่อไปนี้
CREATE TABLE example_database.todo_list (
item_id INT AUTO_INCREMENT,
content VARCHAR(255),
PRIMARY KEY(item_id)
);
จากนั้น แทรกเนื้อหาสองสามแถวลงในตารางทดสอบ ทำซ้ำคำสั่งถัดไปสองสามครั้งโดยใช้ค่าที่แตกต่างกันเพื่อเติมลงในตารางทดสอบ
INSERT INTO example_database.todo_list (content) VALUES ("My first important item");
INSERT INTO example_database.todo_list (content) VALUES ("My second important item");
INSERT INTO example_database.todo_list (content) VALUES ("My third important item");
เพื่อยืนยันว่าข้อมูลได้รับการบันทึกลงในตารางของคุณเรียบร้อยแล้ว ให้รันคำสั่ง
SELECT * FROM example_database.todo_list;
ผลลัพธ์ที่ได้จะเป็นดังต่อไปนี้
หลังจากคอนเฟิร์มผลลัพธ์ที่ได้จากการทดสอบแล้ว สามารถออกจากฐานข้อมูล โดยใช้คำสั่ง
exit
ตอนนี้คุณสามารถสร้างสคริปต์ PHP ที่จะเชื่อมต่อกับ MariaDB และค้นหาเนื้อหาของคุณได้แล้ว สร้างไฟล์ PHP ใหม่ในไดเร็กทอรีรูทเว็บแบบกำหนดเองโดยใช้โปรแกรมแก้ไขที่คุณต้องการ ตัวอย่างนี้ใช้ nano (อย่าลืมแก้ไขคำว่า your_domain เป็นชื่อโดเมนของคุณ)
nano /var/www/your_domain/todo_list.php
สคริปต์ PHP ต่อไปนี้จะเชื่อมต่อกับฐานข้อมูล MariaDB และค้นหาเนื้อหาของตาราง todo_list โดยแสดงผลลัพธ์เป็นรายการ หากมีปัญหาในการเชื่อมต่อฐานข้อมูล สคริปต์จะแสดงข้อยกเว้น
เพิ่มเนื้อหาต่อไปนี้ลงในสคริปต์ todo_list.php ของคุณ โดยอย่าลืมแทนที่ค่า example_user และ password ด้วยค่าของคุณเอง
<?php
$user = "example_user";
$password = "password";
$database = "example_database";
$table = "todo_list";
try {
$db = new PDO("mysql:host=localhost;dbname=$database", $user, $password);
echo "<h2>TODO</h2><ol>";
foreach($db->query("SELECT content FROM $table") as $row) {
echo "<li>" . $row['content'] . "</li>";
}
echo "</ol>";
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
บันทึกและปิดไฟล์หากแก้ไขเรียบร้อยแล้ว
ตอนนี้คุณสามารถเข้าถึงหน้านี้ในเว็บเบราว์เซอร์ของคุณได้โดยไปที่ชื่อโดเมนหรือที่อยู่ IP สาธารณะสำหรับเว็บไซต์ของคุณ แล้วตามด้วย /todo_list.php
http://your_domain/todo_list.php
หน้าเว็บจะแสดงเนื้อหาที่เราเพิ่มไว้ดังรูปภาพต่อไปนี้