ข้อความข้อผิดพลาด 'Error establishing a database connection' จะปรากฏเมื่อ WordPress ไม่สามารถดึงข้อมูลจากฐานข้อมูลของเว็บไซต์ของคุณได้ WordPress จัดเก็บข้อมูลเมตาทั้งหมด ข้อมูลโพสต์ ข้อมูลล็อกอิน การตั้งค่าปลั๊กอิน และข้อมูลหน้าในฐานข้อมูลของมัน แม้ว่า ธีม รูปภาพ และไฟล์หลักของ WordPress จะไม่ได้จัดเก็บในฐานข้อมูล ดังนั้น ทุกครั้งที่คุณหรือคนอื่นเข้าถึงเว็บไซต์ของคุณ คำสั่ง PHP จะถูกดำเนินการซึ่งจะดึง/เรียกข้อมูลที่ต้องการจากฐานข้อมูล และเมื่อด้วยเหตุผลบางอย่าง ฟังก์ชันการทำงานนั้นเสียหาย (เช่น ข้อมูลไม่สามารถดึงจากฐานข้อมูลได้) ข้อผิดพลาดนี้จะปรากฏขึ้น ซึ่งหมายความเพียงอย่างเดียวว่า WordPress ไม่สามารถดึงข้อมูลเฉพาะนั้นจากฐานข้อมูลได้
ข้อความข้อผิดพลาดนี้ค่อนข้างทั่วไป และหากคุณเคยใช้ WordPress บนเว็บเซิร์ฟเวอร์ของคุณ คุณมีแนวโน้มสูงที่จะเคยพบข้อความข้อผิดพลาดนี้อย่างน้อยหนึ่งครั้ง อย่างไรก็ตาม ในบทความนี้ เราจะครอบคลุมสาเหตุที่เป็นไปได้ของข้อความข้อผิดพลาดดังกล่าว จากนั้นดำเนินการต่อโดยการให้รายการวิธีแก้ไขที่คุณสามารถนำไปใช้เพื่อแก้ไขปัญหาได้ 那么 让我们开始吧
สาเหตุของข้อความข้อผิดพลาด 'Error Establishing a Database Connection' ใน WordPress คืออะไร?
เหตุผลที่ทำให้ WordPress ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลของมันได้ สามารถมีได้มากมาย สาเหตุที่พบบ่อยที่สุดและบ่อยครั้งที่สุดระบุไว้ด้านล่าง:
- ข้อมูลล็อกอิงฐานข้อมูลไม่ถูกต้อง (Invalid database login credentials): สาเหตุที่โดดเด่นที่สุดสำหรับข้อผิดพลาดนี้คือการมีข้อมูลล็อกอินที่ไม่ถูกต้องที่ WordPress ใช้ในการสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูล หากข้อมูลล็อกอินที่ WordPress ใช้เชื่อมต่อกับฐานข้อมูลของมันไม่ถูกต้อง คุณจะประสบข้อผิดพลาดนี้ เนื่องจาก WordPress จะไม่สามารถสร้างการเชื่อมต่อกับฐานข้อมูลได้เนื่องจากข้อมูลล็อกอินผิด
- ฐานข้อมูลเสียหาย (Corrupt Database): หากฐานข้อมูลของคุณเสียหาย แล้วน่าจะเป็นไปได้มากที่คุณจะได้ข้อผิดพลาดนี้ การเสียหายในที่นี้หมายถึง ตาราง/คอลัมน์บางส่วนในฐานข้อมูลอาจถูกเปลี่ยนแปลง และ WordPress ไม่สามารถรับค่าข้อมูลที่ต้องการจากตาราง/คอลัมน์เฉพาะในฐานข้อมูลได้
- ปัญหาเซิร์ฟเวอร์ฐานข้อมูล (Database server issues): สาเหตุทั่วไปอีกอย่างสำหรับข้อผิดพลาดนี้คือมีเซิร์ฟเวอร์ฐานข้อมูลที่ล้ม ตัวอย่างเช่น หากคุณโฮสต์เว็บไซต์ของคุณบนเว็บเซิร์ฟเวอร์ที่ใดที่หนึ่ง และเซิร์ฟเวอร์ฐานข้อมูลอยู่ที่นั่นด้วย แต่ไม่ได้ออนไลน์หรือไม่สามารถเชื่อมต่อได้ คุณจะได้ข้อผิดพลาดนี้
- ไฟล์ WordPress เสียหาย (Corrupt WordPress files): อีกเหตุผลที่เป็นไปได้สำหรับข้อผิดพลาดนี้คือมีไฟล์ที่เสียหายในไดเรกทอรีการติดตั้ง WordPress ของคุณ บ่อยครั้ง แฮกเกอร์สามารถเข้าถึงเว็บไซต์ WordPress ของคุณและแก้ไขไฟล์ในไดเรกทอรี WordPress ของคุณโดยการเพิ่มไฟล์ใหม่ หรือลบไฟล์ที่มีอยู่ หรือแก้ไขไฟล์ต้นฉบับของคุณ ดี ไม่ดี กรณีใดก็ตาม แต่หากคุณมีไฟล์ที่เสียหายในไดเรกทอรี WordPress ของคุณ คุณอาจได้ข้อผิดพลาดนี้เพราะมัน
- หน่วยความจำ PHP ไม่เพียงพอ (Insufficient PHP Memory): ข้อความข้อผิดพลาดนี้ยังสามารถเกิดขึ้นได้หากเว็บเซิร์ฟเวอร์ของคุณไม่มีหน่วยความจำ PHP เพียงพอ ในกรณีเช่นนี้ คุณจะต้องอัปเดตไฟล์ php.ini เพื่อเพิ่มหน่วยความจำ PHP
วิธีแก้ไข 1: ตรวจสอบ wp-config.php ในไดเรกทอรีการติดตั้ง WordPress ของคุณ
สิ่งแรกที่คุณควรทำขณะดำเนินการแก้ไขข้อผิดพลาดนี้คือไปดูที่ไฟล์ wp-config.php ในไดเรกทอรี WordPress ของคุณ คุณควรดูว่าเนื้อหาของ wp-config.php ถูกแก้ไขหรือไม่
เพื่อทำเช่นนั้น คุณสามารถใช้ตัวจัดการไฟล์ที่ให้ไว้ใน cPanel ของการโฮสต์เว็บของคุณสำหรับการเข้าถึง wp-config.php หรือคุณสามารถใช้แอปพลิเคชัน FTP เช่น Filezilla เพื่อเชื่อมต่อกับเว็บเซิร์ฟเวอร์ของคุณและเข้าถึงไฟล์บน text editor ที่ติดตั้งบนคอมพิวเตอร์ท้องถิ่นของคุณ
เมื่อคุณเข้าถึงไฟล์ wp-config.php แล้ว ให้ดูว่ามีบรรทัดเหล่านี้อยู่ในนั้นหรือไม่:
define('DB_NAME', 'database-name'); define('DB_USER', 'database-username'); define('DB_PASSWORD', 'database-password'); define('DB_HOST', 'localhost')
ค่าของ DB_HOST อาจไม่ใช่ localhost หากเซิร์ฟเวอร์ฐานข้อมูลไม่มีที่อยู่ IP เหมือนกับเว็บเซิร์ฟเวอร์ของคุณ (นี่มักเป็นกรณีเมื่อคุณไม่ได้โฮสต์เว็บไซต์ของคุณบนคอมพิวเตอร์ของคุณเองในท้องถิ่น)
วิธีแก้ไข 2: ลองสร้างการเชื่อมต่อจำลอง (dummy connection) ไปยังเซิร์ฟเวอร์ฐานข้อมูลของคุณ
สิ่งต่อไปที่คุณควรทำคือดูว่าคุณสามารถสร้างการเชื่อมต่อที่สำเร็จกับเซิร์ฟเวอร์ฐานข้อมูลโดยใช้ชื่อผู้ใช้และรหัสผ่านสำหรับบัญชีผู้ใช้ฐานข้อมูลของคุณได้หรือไม่
สร้างไฟล์ใหม่ testdatabaseconnection.php ในไดเรกทอรีรากของเว็บไซต์ของคุณด้วยเนื้อหาต่อไปนี้ และเข้าถึงมันจากเบราว์เซอร์ของคุณ หากคุณได้ข้อความ "Connected successfully" แล้วไม่มีอะไรผิดปกติกับเซิร์ฟเวอร์ฐานข้อมูล MySQL และมันทำงานได้ดี
<?php $link = mysqli_connect('localhost', 'username', 'password'); if (!$link) { die('Could not connect: ' . mysqli_error()); } echo 'Connected successfully'; mysqli_close($link); ?>
จำไว้ว่าให้เปลี่ยนฟิลด์ username และ password ด้วยชื่อผู้ใช้และรหัสผ่านสำหรับบัญชีผู้ใช้ฐานข้อมูลของคุณ
ในกรณีที่คุณกำลังสงสัยเกี่ยวกับชื่อผู้ใช้และรหัสผ่านของบัญชีผู้ใช้ฐานข้อมูล คุณไม่ต้องกังวล คุณสามารถเห็นได้ใน cPanel ของบัญชีโฮสต์เว็บของคุณในส่วนฐานข้อมูล หรือหากคุณสร้าง/กำหนดค่าฐานข้อมูลเอง คุณน่าจะจำชื่อผู้ใช้และรหัสผ่านได้
หากคุณได้ข้อความข้อผิดพลาดแทนข้อความ connected successfully แล้ว คุณต้องตรวจสอบให้แน่ใจว่าคุณกำลังใช้ชื่อผู้ใช้และรหัสผ่านที่ถูกต้องในการเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลของคุณ
ทางเลือกอื่นในที่นี่คือการสร้างผู้ใช้อีกคนสำหรับเซิร์ฟเวอร์ฐานข้อมูลของคุณด้วยสิทธิ์ทั้งหมด และใช้บัญชีผู้ใช้นั้นเดียวกันเพื่อเข้าถึงฐานข้อมูลของคุณ
หลังจากที่คุณสร้างบัญชีผู้ใช้ใหม่แล้ว คุณสามารถทดสอบบัญชีนั้นด้วยวิธีข้างต้น และหากสำเร็จ คุณต้องเปลี่ยนเนื้อหาของ wp-config.php ให้ตรงกับชื่อผู้ใช้และรหัสผ่านของบัญชีฐานข้อมูลที่คุณเพิ่งสร้าง
วิธีแก้ไข 3: ซ่อมแซมฐานข้อมูลของคุณ (หากเสียหาย)
หากการทำขั้นตอนด้านบนล้มเหลว และคุณยังไม่สามารถเชื่อมต่อกับฐานข้อมูลของคุณได้ คุณควรพิจารณาซ่อมแซมฐานข้อมูลของคุณ เพราะน่าจะเป็นไปได้ว่ามันอาจเสียหาย ข่าวดีคือ WordPress มีโหมดซ่อมแซมฐานข้อมูลซึ่งคุณสามารถเริ่มต้นได้โดยเพียงเพิ่มบรรทัดหนึ่งใน wp-config.php ของคุณ
- เพื่อทำเช่นนั้น ให้เพิ่มบรรทัดนี้ใน wp-config.php ของคุณ
define('WP_ALLOW_REPAIR', true); - หลังจากเพิ่มและบันทึกไฟล์ ไปที่ลิงก์นี้เพื่อเริ่มต้นโหมดซ่อมแซมฐานข้อมูล
https://yourdomain.com/wp-admin/maint/repair.php
- เปลี่ยน yourdomain.com ด้วยโดเมนของเว็บไซต์ของคุณ
- เมื่อคุณเข้าถึงหน้านั้นแล้ว ให้คลิกที่ตัวเลือก "Repair Database"

จะใช้เวลาสักพักและจะเสร็จสิ้น หลังจากนั้น คุณควรไปตรวจสอบว่าคุณยังประสบข้อผิดพลาดนี้อยู่หรือไม่
วิธีแก้ไข 4: รัน SQL Query ใน PhpMyAdmin
ผู้ใช้คนหนึ่งแนะนำว่าเขาแก้ไขข้อความข้อผิดพลาดดังกล่าวได้โดยการรัน SQL query ต่อไปนี้ใน PhpMyAdmin ใน cPanel ของโฮสต์เว็บ (PhpMyAdmin เป็นแอปพลิเคชันบนเว็บสำหรับจัดการแง่มุมต่างๆ ของฐานข้อมูลของคุณ)
UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'
จำไว้ให้เปลี่ยน YOUR_SITE_URL ด้วยลิงก์ของเว็บไซต์ของคุณ
หลังจากทำนั้นแล้ว คุณสามารถดูว่าข้อผิดพลาดของคุณได้รับการแก้ไขแล้วหรือไม่
วิธีแก้ไข 5: ติดตั้งไฟล์หลัก WordPress ใหม่ (อย่ากังวล เว็บไซต์ของคุณจะไม่ได้รับผลกระทบ)
หลังจากลองวิธีแก้ไขทั้งหมดด้านบนแล้ว และไม่มีอะไรทำงานให้คุณ คุณควรลองติดตั้งไฟล์หลัก WordPress ใหม่
- เพื่อทำเช่นนั้น ให้ไปที่ WordPress.org และดาวน์โหลดไฟล์ WordPress zip ล่าสุด
- หลังจากนั้น เชื่อมต่อกับเว็บเซิร์ฟเวอร์ของคุณโดยใช้ Filezilla และนำทางไปยัง WordPress installation directory
- ที่นั่น ให้ลบโฟลเดอร์ ‘wp-content‘ และไฟล์ ‘wp-config-sample.php‘ และอัปโหลดไฟล์ WordPress zip ที่คุณดาวน์โหลด เมื่ออัปโหลดเสร็จ คุณต้อง แตก (extract) เนื้อหาของ zip ไฟล์ไว้ที่ไดเรกทอรีนั้น (ไม่ใช่ subdirectory)

- การแตกไฟล์ zip สามารถทำได้ผ่าน Filezilla หรือโดยใช้ตัวจัดการไฟล์ของ cPanel ของคุณ เนื่องจากเว็บเซิร์ฟเวอร์ส่วนใหญ่มีการสนับสนุนการแตกไฟล์ zip
- เสร็จแล้ว ตอนนี้ตรวจสอบอีกครั้งว่าเว็บไซต์ WordPress ของคุณยังประสบข้อผิดพลาดเดียวกันอยู่หรือไม่