запрещена из-за его прав доступа ошибка выбора базы данных в Azure MySQL - PullRequest
0 голосов
/ 23 ноября 2018

Я использую веб-приложение и базу данных Azure MySQL.Я попытался использовать простое соединение:

$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);

Но когда я использую строку соединения в моем классе базы данных, я получаю эту ошибку: An attempt was made to access a socket in a way forbidden by its access permissions. в клиентском браузере.Мой класс базы данных:

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();
        }
    }

}

Обратите внимание, что server, user, pass, database_name уже определено с тем же значением в приведенном выше коде.Кстати, мой тест показывает эхо для Problem in selecting database:, поэтому соединение в порядке.Что я могу сделать, чтобы правильно выбрать базу данных с помощью этого класса?Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...