forbidden by its access permissions error for selecting the database in azure mysql

Ask about general coding issues or problems here.

Moderators: egami, macek, gesf

Post Reply
roix
New php-forum User
New php-forum User
Posts: 1
Joined: Thu Nov 22, 2018 7:00 pm

Thu Nov 22, 2018 7:10 pm

Hi,
I am using web app and azure mySQL database. I tried using a simple connection and it works:

Code: Select all

$host = 'xxxxx.mysql.database.azure.com';
$username = 'xxxxxxxx';
$password = 'xxxxxxxx';
$db_name = 'xxxxxxxx';

//Establishes the connection
$conn = mysqli_init();

mysqli_ssl_set($conn, NULL, NULL, "/cert/BaltimoreCyberTrustRoot.crt.pem", 
NULL, NULL);

mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306, 
MYSQLI_CLIENT_SSL, MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

//Run the Select query
printf("Reading data from table: \n");
$res = mysqli_query($conn, 'SELECT * FROM tbl_xxxx');
while ($row = mysqli_fetch_assoc($res)) {
   echo $row["ID"]. " : " . $row["XXXX"]."<br>";
}

//Close the connection
mysqli_close($conn);
But when I use the connection string on my database class, I got this error:

Code: Select all

An attempt was made to access a socket in a way forbidden by its access permissions.
on a client browser. My database class is:

Code: Select all

public function open_connection() {
    $this->conn = mysqli_init();

    mysqli_ssl_set($this->conn, NULL, NULL, "/cert/BaltimoreCyberTrustRoot.crt.pem", NULL, NULL);

    mysqli_real_connect($this->conn, server, user, pass, database_name, 3306, MYSQLI_CLIENT_SSL, MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT);


    if(mysqli_connect_errno($this->conn)){
        echo "Problem in database connection:". mysqli_connect_error();
        exit();
    }else{
        $db_select = mysqli_select_db($this->conn, database_name);

        if (!$db_select) {
            echo "Problem in selecting database:". mysqli_connect_error();
            exit();
        }
    }

}
Please note that the

Code: Select all

server, user, pass, database_name
is already defined with same value in the above code. Fyi, my test shows the

Code: Select all

echo
for

Code: Select all

Problem in selecting database:
so the connection is fine. Is there anything I can do to properly select a database by using this class? Thank you.

Post Reply