การเชื่อมต่อ MySQL/MariaDB สำหรับ PHP

MariaDB และ MySQL เป็นฐานข้อมูลแบบโอเพนซอร์ซที่ได้รับความนิยมอย่างสูง ที่ถูกใช้โดยนักพัฒนาทั่วโลก ทำตามขั้นตอนด้านล่างต่อไปนี้เพื่อเรียนรู้ถึงการเชื่อมต่อแอปพลิเคชัน PHP ของคุณ โฮสต์ภายใน Ruk-Com PaaS ไปยังหนึ่งในเซิร์ฟเวอร์ฐานข้อมูลเหล่านี้

การสร้าง Env
  1. ล็อกอินด้วยบัญชี Ruk-Com และสร้าง Env ใหม่ create an environment ด้วยเซิร์ฟเวอร์ฐานข้อมูล MySQL หรือ MariaDB (ทั้ง 2 อย่างนี้สามารถใช้งานได้ในส่วนของ SQL wizard)



    เพื่อเป็นตัวอย่างการเชื่อมต่อ เราได้ทำการเพิ่มแอปพลิเคชันเซิร์ฟเวอร์ Apache PHP เข้าไป
  1. หลังจากสร้าง Env คุณจะได้รับอีเมลพร้อมกับรายละเอียดของ MySQL (หรือ MariaDB) และการเชื่อมต่อสำหรับแอดมิน
  2. กลับไปยังแดชบอร์ดและคลิกปุ่ม Open in Browser สำหรับ database node ที่เหมาะสม (ไม่ว่าจะเป็น MySQL หรือ MariaDB)



    ล็อกอินเข้าสู่พาเนลแอดมินโดยใช้ข้อมูลที่ได้รับจากอีเมลดังกล่าว
  1. ไปที่แท็บ Databases และกด Create เพื่อสร้างฐานข้อมูลใหม่(เช่น mysqldb)



    ตอนนี้คุณสามารถปรับแต่ง deploy แอปพลิเคชันของคุณ (จาก archive หรือ GIT/SVN repository) กับ Env ที่สร้างขึ้น
เชื่อมต่อเข้ากับฐานข้อมูล

เมื่อตอนที่ปรับแต่งโปรเจ็กต์เสร็จสมบูรณ์ คุณต้องเชื่อมต่อไปยังฐานข้อมูล สำหรับแอปพลิเคชันควรได้รับการตั้งค่าอย่างเหมาะสม อย่างเช่น การใช้ส่วนเสริม inbuilt MySQLi (ปรับปรุง MySQL) 
อ้างถึงเอกสารทางการสำหรับลิสของฟังก์ชันทั้งหมดที่มี ในขณะที่เราจะสรุปเฉพาะพื้นฐานด้านล่าง:

  1. การเชื่อมต่อของ string สำหรับการเข้าถึง MySQL/MariaDB node:
mysqli_connect('{host}', '{user}', '{password}', '{db_name}');

ตำแหน่งที่เหมาะสมควรถูกแทนที่ด้วยข้อมูลการเชื่อมต่อจาก MySQL หรือ MariaDB node

  • {host} – ลิงก์ไปยังโหนดฐานข้อมูลโดยไม่มีส่วนโปรโตคอล
  • {user} และ {password} – ข้อมูลของผู้ดูแลฐานข้อมูล (สำหรับการใช้งาน แนะนำให้สร้างบัญชีเฉพาะด้วยสิทธิ์การเข้าถึงที่เหมาะสม)
  • {db_name} – ชื่อฐานข้อมูล (เช่น ก่อนหน้านั้นได้ทำการสร้างชื่อ mysqldb ไว้ )
  1. สำหรับการสลับไปยังฐานข้อมูลที่แตกต่างกันภายในเซิร์ฟเวอร์เดียวกัน ให้ใช้ฟังก์ชันต่อไปนี้
mysql_select_db('{connect}','{db_name}');

ในที่นี้ควรแทนที่การเชื่อมต่อ string โดยใช้ฟังก์ชัน mysqli_connect ที่ได้อธิบายไว้ข้างต้น

  1. ในการปิดการเชื่อมต่อกับฐานข้อมูล ให้ดำเนินการดังต่อไปนี้
mysqli_close( );

หมายเหตุ : คุณต้องระบุฟังก์ชันที่จำเป็นในทุกหน้าของไฟล์ *.php ที่จะเชื่อมต่อกับฐานข้อมูล

การตรวจสอบการเชื่อมต่อ

เพื่อให้แน่ใจว่าการทำงานทุกอย่างเป็นไปอย่างราบรื่น คุณสามารถตรวจสอบการเชื่อมต่อได้โดยใช้โค้ดนี้

<?php
$link = mysqli_connect('{host}', '{user}', '{password}', '{db_name}');
//if connection is not successful you will see text error
if (!$link) {
       die('Could not connect: ' . mysql_error());
}
//if connection is successfully you will see message below
echo 'Connected successfully';
 
mysqli_close($link);
?>

หมายเหตุ : อย่าลืมที่จะแทนค่าใน {host}{user}{password} และ {db_name} ในการเชื่อมต่อ string ด้วยค่าที่สอดคล้องกัน (ตามที่อธิบายไว้ในส่วนการเชื่อมต่อกับฐานข้อมูล Connection to the Database)

ถ้าทุกอย่างราบรื่น คุณจะได้รับข้อความ เมื่อหน้านี้ถูกเปิดขึ้นมา


การดำเนินการตามคำขออย่างง่าย

และนี่คือตัวอย่างวิธีการดำเนินการตามคำขออย่างง่ายไปยังฐานข้อมูลและส่งออกไปยังตารางสคริปต์ PHP แบบ plain ด้านล่างนี้จะสร้างการเชื่อมต่อเข้ากับเซิร์ฟเวอร์ฐานข้อมูลของคุณ (อย่าลืมที่จะระบุสิ่งสำคัญอย่าง hostname และรายละเอียดจากอีเมล) เชื่อมต่อกับฐานข้อมูลตั้งต้นของ mysql ที่มีอยู่ อ่านค่าต่าง ๆ จากตาราง help_topic และแสดงในตารางที่สร้างขึ้นเอง

<?php
// Connection checking:
$link = mysqli_connect('{host}', '{user}', '{password}', '{db_name}');
if (!$link)
{
    echo "<h2>MySQL Error!</h2>";   
    exit;
}
 
// Switch to a different database:
$db="mysql";
mysqli_select_db($link, $db);
// table header output:
echo "<table border=\"1\" width=\"100%\" bgcolor=\"#FFFFE1\">";
echo "<tr><td>Value1</td><td>Value2</td><td>Value3</td>";
// SQL-request:
$q = mysqli_query ($link, "SELECT * FROM help_topic;");
// table-result output
for ($c=0; $c<mysqli_num_rows($q); $c++)
{
    echo "<tr>";
    $f = mysqli_fetch_array($q); // Returns an array that corresponds to the fetched row and moves the internal data pointer ahead.
    echo "<td>$f[0]</td><td>$f[1]</td><td>$f[5]</td>";
    echo "</tr>";
}
echo "</table>";
?>

ผลที่ได้คือคุณจะได้รับ index ชนิดหนึ่งสำหรับฟังก์ชัน MySQL ที่มีอยู่ทั้งหมดพร้อมลิงก์ไปยังคำแนะนำในการใช้งาน


เยี่ยม ตอนนี้คุณสามารถเชื่อมต่อแอปพลิเคชัน PHP ของคุณเข้ากับฐานข้อมูล MySQL หรือ MariaDB ได้อย่างง่ายดาย

สิ่งที่ควรรู้

Ruk-Com PaaS ช่วยให้คุณสามารถขยายการทำงานของเซิร์ฟเวอร์ MariaDB/MySQL ได้โดยการปฏิบัติตามคำแนะนำที่เหมาะสมในเอกสารประกอบของเรา

  • ตั้งค่าประเภทการจำลองฐานข้อมูลที่ต้องการ master-slave หรือ master-master เพื่อให้ได้ประสิทธิภาพการทำงานของฐานข้อมูลที่เพิ่มขึ้นและป้องกันข้อมูลสูญหาย
  • ปรับ Backups Scheduling เพื่อให้มั่นใจในความปลอดภัย ของข้อมูลที่อยู่ในฐานข้อมูลของคุณในกรณีที่เซิร์ฟเวอร์เกิดการล่มแบบไม่คาดคิด
  • ดูคำแนะนำของ Remote Access  และศึกษาว่าจะสามารถเข้าถึงฐานข้อมูลจากระยะไกลได้อย่างไรผ่าน MySQL client บนเดสก์ท็อป

ใช้คู่มือ Dump Files Import/Export  เพื่อค้นหาว่าจะสามารถสำรองข้อมูลด้วยตนเองได้อย่างไรและกู้คืนข้อมูลของคุณจากสิ่งที่ได้สร้างทิ้งไว้ก่อนหน้านี้