Connection to MySQL/MariaDB for PHP
Environment Creation
1. Log into the Cloudjiffy dashboard.
2. Create an environment with MySQL or MariaDB database server (both are available within the SQLwizard section).
3. Check the email - it should contain a message from Robot@jelastic with the administration details (access URL, login and password) for the MySQL or MariaDB server.
4. Return to the dashboard and click the Open in browser button for the corresponding MySQL or MariaDB node in the environment.
Log in to the opened admin panel using the information I’ve received in the abovementioned email. Here I can create new databases (just in the same way as it is shown in the image below for the mysqlconnection one) for my application’s data storing and manage them.
5. Now I can upload the PHP application package to the Jelastic Deployment manager and deploy it to the created environment (or perform the deployment from the GIT/SVN repository).
Connection to the Database
Once the project is successfully deployed, I need to connect it to the database. For that, the application should be appropriately configured.
There are 3 main PHP functions, used for DB connection.
1. String for establishing a connection to the MySQL/MariaDB node:
mysql_connect('HOST', 'USERNAME', 'PASSWORD');
The appropriate values should be substituted with the data:
-
HOST - MySQL server address that I’ve received via email, specified without the https:// part:
{db_type}{node_id}-{env_name}.{hoster_domain}
where
{db_type} - depends on the type of database server I’ve chosen: should be mysql for MySQL and mariadb for MariaDB
{node_id} - ID of the container with database server I want to establish the connection to. It can be seen at the dashboard:
- USERNAME - name of the admin DB user; the default one is root.
- PASSWORD - password for my DB server; the default one can be also seen inside the email with database credentials.
2. For selection of the necessary database, use the next string:
mysql_select_db('DB_NAME');
wherein DB_NAME parameter should be substituted with the name of the needed database.
3. In order to close a connection to the database, execute the following:
mysql_close( );
All other available MySQL functions can be found here.
I need to specify the necessary functions in every *.php page, which should be connected to the database. |
Checking the Connection
In order to ensure everything works fine, I can check the connection using this code:
1
2
3
4
5
6
7
8
9
10
11
|
$link = mysql_connect( 'HOST' , 'USERNAME' , 'PASSWORD' );
//if connection is not successful I will see text error
if (! $link ) {
die ( 'Could not connect: ' . mysql_error());
}
//if connection is successfuly I will see message bellow
echo 'Connected successfully' ;
mysql_close( $link );
?>
|
Note: Do not forget to substitute HOST, USERNAME and PASSWORD in the connection string with the corresponding values (as it is described in the Connection to the Databasesection of this instruction.) |
If everything is OK then, after browsing the URL( for ex : mysql.cloudjiffy.com) will get a message Connected Successfully.
Executing a Simple Request
And here is an example on how to execute a simple request to my database and output it onto a table.
The plain PHP script below will establish a connection to the database server (do not forget to specify the appropriate hostname and credentials), connect to the default mysql database it contains, read the values from the help_topic table and display them in a self-generated table.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
// Connection checking: $link = mysql_connect( 'host' , 'root' , 'password' ); if (! $link ) { echo "
MySQL Error!" ; exit ; } // Choose database: $db = "mysql" ; mysql_select_db( $db ); // table header output: echo ""
echo "
// SQL-request:
$q = mysql_query ( "SELECT * FROM help_topic;" );
// table-result output
for ( $c =0; $c
$f = mysql_fetch_array( $q ); // Returns an array that corresponds to the fetched row and moves the internal data pointer ahead.
echo "
echo "
}
echo "
?>
|
As a result, I’ll receive a kind of index for all available MySQL functions with links to the instructions on their using.
Great! Now I can easily connect the PHP application to the MySQL or MariaDB database.