我在使用 PHP 连接到 Azure 数据库时遇到问题,但我似乎不明白原因。 我正在 XAMPP 上运行 Apache 并尝试执行以下代码。
$servername = "((Database Server Name)).database.windows.net";
$username = "((Database UserName))@((Database Server Name))";
$password = "((Database Password))";
$dbname = "((Table Name))";
// Create connection
$conn = mysqli_init();
mysqli_real_connect($conn, $servername, $username, $password, $dbname, 3306);
if (mysqli_connect_errno($conn))
{
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
echo "Connected successfully";
mysqli_close($conn);
?>
我收到的完整错误消息:
Warning: mysqli_real_connect(): (HY000/9002): The server name you tried cannot be found. Please use the correct name and retry. Please check your server name ((Server Name)). in C:\xampp\htdocs\GetFromDBTest\getfromdb.php on line 16 Failed to connect to MySQL: The server name you tried cannot be found. Please use the correct name and retry. Please check your server name ((Server Name)).
第 16 行
是:
mysqli_real_connect($conn, $servername, $username, $password, $dbname, 3306);
最佳答案
这个问题已经解决了,这是我缺乏知识的情况。我不知道 Azure 提供不同类型的数据库。
解决办法: 我正在使用 msSQL 数据库,并尝试使用 mySQL 连接到它。通过使用 msSQL 连接到我的数据库解决了
这里是 msSQL 版本,供任何可能需要的人使用。
$serverName = "<DB Server Name Goes here>";
$connectionOptions = array("Database" => "<DB Name Goes here>",
"Uid" => "<User Id for the DB goes here>",
"PWD" => "<Password connected to the user Id goes here>");
$conn = sqlsrv_connect($serverName, $connectionOptions);
$tsql= "SELECT * FROM dbTable";
$getResults= sqlsrv_query($conn, $tsql);
if ($getResults == FALSE)
echo (sqlsrv_errors());
while ($row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC))
{
//Here you deal with your data
}
//closes sql connection and clears everything connected to it
sqlsrv_free_stmt($getResults);
关于PHP Azure DB 连接错误 (HY000/9002),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51928543/