---
title: "MySQL® - Connect with PHP"
description: "Learn how to connect to a MySQL® database instance with one of the world's most famous programming languages: PHP."
url: https://docs.us.ovhcloud.com/en/public-cloud/databases/mysql-connect-php
lang: en
---
> For AI agents: the complete documentation index is available at https://docs.us.ovhcloud.com/en/llms.txt, the full documentation bundle is available at https://docs.us.ovhcloud.com/en/llms-full.txt.

# MySQL® - Connect with PHP

**Learn how to connect to a MySQL® database instance with one of the world's most famous programming languages: PHP.**

Cloud Databases allow you to focus on building and deploying cloud applications while OVHcloud takes care of the database infrastructure and maintenance in operational conditions.

You can find an example on the [GitHub examples repository](https://github.com/ovh/public-cloud-databases-examples/tree/main/databases/mysql/php/hello-world).

 

## Requirements

- Access to the [OVHcloud Control Panel](https://manager.us.ovhcloud.com/)
- A [Public Cloud project](https://us.ovhcloud.com/public-cloud/) in your OVHcloud account
- A MySQL® database running on your OVHcloud Cloud Databases ([this guide](https://docs.us.ovhcloud.com/en/public-cloud/databases/getting-started.md) can help you to meet this requirement)
- [Configure your MySQL® instance](https://docs.us.ovhcloud.com/en/public-cloud/databases/mysql-configure-instance-accept-incoming-connections.md) to accept incoming connections
- A PHP environment with a stable version and public network connectivity (Internet). _This guide was made in PHP 8.0.8_.

 

## Concept

A MySQL[®](#go-further) instance can be managed in multiple ways. One of the easiest, yet powerful, is to use a Command Line Interface (CLI), as shown in our guide: [Connect to MySQL® with CLI](https://docs.us.ovhcloud.com/en/public-cloud/databases/mysql-connect-cli.md).

Another way is to interact directly using programming languages, such as PHP. PHP is used in almost 80% of the websites in the world, such as Facebook, Wikipedia, or WordPress. MySQL® provides PHP drivers, allowing us to connect and manage a MySQL® instance from code.

To do so, we will need to set up our PHP environment with MySQL® drivers and finally code in PHP to perform a few example actions.

 

## Instructions

### Set up your PHP environment

To interact with your MySQL® instance with PHP, your development environment needs to be configured with:

- A compatible version of PHP;
- MySQLi, PDO, and OpenSSL PHP extensions installed and activated in `php.ini`.

**Warning:**

**NOTE:** To see a list of installed extensions, use the command `php -m`. If you can edit your PHP environment on your own, install extensions and libraries as detailed in the documentation page linked here: [MySQL® Drivers and Plugins](https://www.php.net/manual/en/set.mysqlinfo.php).

We are now ready to learn how to connect to our MySQL® instance.

 

### Connect with PHP

#### Using mysqli

```php
<?php
$host = "mysql-11xxxx20-o2xxxx53.database.cloud.ovh.us";
$user = "avnadmin";
$password = "K93xxxxxxxxxxxxxaBp";
$dbname = "defaultdb";
$port = "20184";

try {
  $db = mysqli_init();
  $link = mysqli_real_connect($db, $host, $user, $password, $dbname, $port, NULL, MYSQLI_CLIENT_SSL);
  $res = $db->query("SHOW GLOBAL STATUS LIKE 'Ssl_cipher';");
  $rows = $res->fetch_all();
  var_dump($rows[0]);
  $db->close();
}
catch (Throwable $e) {
  echo "Captured Throwable for connection : " . $e->getMessage() . PHP_EOL;
}
?>
```

If you are connected, the result should be like this:

```php
array(2) {
  [0]=>
  string(10) "Ssl_cipher"
  [1]=>
  string(22) "TLS_AES_256_GCM_SHA384"
}
```

 

#### Using PDO

Log in to your [OVHcloud Control Panel](https://manager.us.ovhcloud.com/) and switch to `Public Cloud` in the top navigation bar. After selecting your Public Cloud project, click on `Databases` in the left-hand navigation bar, and select your MySQL® instance.

Select the `General Information` tab. In the **Login Information** section, download the CA certificate.

```php
<?php
$host = "mysql-11xxxx20-o2xxxx53.database.cloud.ovh.us";
$user = "avnadmin";
$password = "K93xxxxxxxxxxxxxaBp";
$dbname = "defaultdb";
$port = "20184";
$options = array(
  PDO::MYSQL_ATTR_SSL_CA => '/<path to>/ca.pem',
  PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false
);

try {
  $conn = new PDO("mysql:host=$host; port=$port; dbname=$dbname", $user, $password, $options);
  var_dump($conn->query("SHOW STATUS LIKE 'Ssl_cipher';")->fetchAll());
  $conn = null;
}
catch (Throwable $e) {
  echo "Captured Throwable for connection : " . $e->getMessage() . PHP_EOL;
}
?>
```

 

If you are connected, the result should be like this:

```php
array(1) {
  [0]=>
  array(4) {
    ["Variable_name"]=>
    string(10) "Ssl_cipher"
    [0]=>
    string(10) "Ssl_cipher"
    ["Value"]=>
    string(22) "TLS_AES_256_GCM_SHA384"
    [1]=>
    string(22) "TLS_AES_256_GCM_SHA384"
  }
}
```

 

## Go further

Browse all the [Databases guides](https://docs.us.ovhcloud.com/en/public-cloud/databases/landing-page-databases.md).

Browse the rest of the [OVHcloud US documentation](https://docs.us.ovhcloud.com/en/index.md) for guides on our other products and services.

Learn more about [Managed Databases](https://us.ovhcloud.com/public-cloud/databases/) on the OVHcloud US website.

OVHcloud Managed Databases and Analytics:

- Grafana® is a registered trademark of Grafana Labs and is used with the permission of Grafana Labs. OVH SAS and its subsidiaries are not affiliated with or endorsed by Grafana Labs.
- Kafka® is a registered trademark of The Apache Software Foundation and has been licensed for use by OVHcloud, who has no affiliation with and is not endorsed by The Apache Software Foundation.
- MongoDB® is a registered trademark of MongoDB, Inc.
- MySQL® is a registered trademark of Oracle and/or its affiliates.
- PostgreSQL® is a registered trademark of the PostgreSQL Community Association of Canada.
