Test MySQL Connection

PHP/MySQL | Updated 2026

If your website shows database connection errors, you need to verify that your database credentials are correct and the server is reachable. Here is how to test your MySQL/MariaDB connection.

01. PHP Connection Test Script

Create dbtest.php in public_html:

<?php
$host = 'localhost';
$user = 'your_db_username';
$pass = 'your_db_password';
$db   = 'your_db_name';

$conn = new mysqli($host, $user, $pass, $db);

if ($conn->connect_error) {
    echo 'Connection FAILED: ' . $conn->connect_error;
} else {
    echo 'Connection SUCCESSFUL to database: ' . $db;
    $conn->close();
}
?>

Visit yourdomain.com/dbtest.php in your browser. You will see either "Connection SUCCESSFUL" or an error message explaining what failed.

Important

Delete dbtest.php immediately after testing. It contains your database credentials in plain text. Never leave database test files on a live server.

02. Finding Your Database Credentials

  • WordPress: Open wp-config.php and look for DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST
  • Other apps: Check the application's configuration file (usually config.php, settings.php, or configuration.php)
  • cPanel: Go to Databases > MySQL Databases to see your database names and users

03. Common Connection Errors

  • "Access denied for user" - Wrong username or password, or the user is not assigned to the database. In cPanel > MySQL Databases, check that the user is added to the database with "All Privileges." See How to Add a User to a Database.
  • "Unknown database" - The database name is wrong. Database names on cPanel are prefixed with your username (e.g., cpuser_dbname).
  • "Can't connect to MySQL server" - The host should be localhost on shared hosting, not an IP address or remote hostname. See Cannot Connect to MySQL.
  • "Connection refused on port 3306" - MySQL is running but only accepts local connections. Use localhost as the host. See What Port is MySQL On?

Database Connection Issues?

If you cannot get your database connection working, open a ticket with the error message (but not your password).

Open a Support Ticket

Quick Recap

  1. Create a test PHP script with your credentials
  2. Host should be localhost on shared hosting
  3. Check cPanel > MySQL Databases for correct names and user assignments
  4. Database names are prefixed with your cPanel username
  5. Delete the test file immediately after testing

Database troubleshooting · Last updated March 2026 · Browse all PHP/MySQL articles

Share: X in Reddit f Email
  • 121 Users Found This Useful

Was this answer helpful?

Related Articles

What is the proper MariaDB - MySQL import and export format?

PHP/MySQL | Updated 2026 When importing or exporting MariaDB/MySQL databases, the format...

How to Parse HTML as PHP

PHP/MariaDB/MySQL | Updated March 2026 By default, Apache only processes files with a .php...

PHP open_basedir Restriction in Effect

PHP/MariaDB/MySQL | Updated March 2026 The open_basedir restriction in effect warning is a...

Learn About MySQL

Databases | Updated 2026 MariaDB (the MySQL-compatible database server on Ultra Web Hosting)...

Register Globals On Off

PHP/MySQL | Updated 2026 register_globals was a PHP setting that automatically converted URL...



Save 30% on web hosting - Use coupon code Hosting30