连接字符串错误,在Azure中部署了PHP和MySQL
我在一个项目中工作,该项目包括在Azure中部署PHP网站并连接Azure MySQL 我首先在Azure MySQL中创建和迁移数据。我还创建了PHP网站并部署了代码,但当在web应用程序的配置部分添加连接字符串时,它给了我一个错误: 值是所有连接字符串上的必需属性 连接字符串:连接字符串错误,在Azure中部署了PHP和MySQL,php,mysql,azure,connection-string,Php,Mysql,Azure,Connection String,我在一个项目中工作,该项目包括在Azure中部署PHP网站并连接Azure MySQL 我首先在Azure MySQL中创建和迁移数据。我还创建了PHP网站并部署了代码,但当在web应用程序的配置部分添加连接字符串时,它给了我一个错误: 值是所有连接字符串上的必需属性 连接字符串: $con=mysqli_init(); [mysqli_ssl_set($con, NULL, NULL, {ca-cert filename}, NULL, NULL);] mysqli_real_connect(
$con=mysqli_init(); [mysqli_ssl_set($con, NULL, NULL, {ca-cert filename}, NULL, NULL);] mysqli_real_connect($con, {your_host}, {username@servername}, {your_password}, {your_database}, {your_port});
我无法保存连接字符串,因为错误在连接字符串选项卡下方显示为红色
因为我没有使用PHP和MySQL的经验,所以我在谷歌上搜索了错误,但没有发现任何错误。如果您想在Azure web app中添加我的sql连接字符串,请参考以下步骤
您没有传递密钥和证书路径。请您解释一下。您传递了大量的
NULL
作为参数,我认为它不会工作。我从MySQL数据库复制了这个连接字符串。我添加了服务器、数据库名、用户ID和密码。在PHP中没有null
的连接字符串怎么可能呢?@JoePlatano是的,我已将连接合并到一个不在azure中的文件中并已修复。我已使用此连接字符串$con=mysqli_init();[mysqli_ssl_set($con,NULL,NULL,{ca cert filename},NULL,NULL);]mysqli_real_connect($con,{your_host}{username@servername},{你的密码},{你的数据库},{你的端口})代码>。你已经使用了另一个,你能解释一下区别吗。你为Azure mysql()配置了SSL吗?如果您没有配置它,您可以使用我的代码。该应用程序已准备就绪,正在开发中,只需连接数据库。我只需要连接。如果您有使用php和MySQL的经验,请编写适合您的连接字符串。
<?php
$connectstr_dbhost = '';
$connectstr_dbname = '';
$connectstr_dbusername = '';
$connectstr_dbpassword = '';
foreach ($_SERVER as $key => $value) {
if (strpos($key, "MYSQLCONNSTR_") !== 0) {
continue;
}
$connectstr_dbhost = preg_replace("/^.*Data Source=(.+?);.*$/", "\\1", $value);
$connectstr_dbname = preg_replace("/^.*Database=(.+?);.*$/", "\\1", $value);
$connectstr_dbusername = preg_replace("/^.*User Id=(.+?);.*$/", "\\1", $value);
$connectstr_dbpassword = preg_replace("/^.*Password=(.+?)$/", "\\1", $value);
}
$conn = mysqli_init();
mysqli_ssl_set($conn,NULL,NULL, "D:/home/site/wwwroot/Cert/BaltimoreCyberTrustRoot.crt.pem", NULL, NULL) ;
mysqli_real_connect($conn, $connectstr_dbhost, $connectstr_dbusername, $connectstr_dbpassword, $connectstr_dbname, 3306, MYSQLI_CLIENT_SSL);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
echo "Success: A proper connection to MySQL was made! The database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($conn) . PHP_EOL;
?>