gpt4 book ai didi

PHP 连接到 Azure MySQL 但无法访问表

转载 作者:行者123 更新时间:2023-11-29 10:44:30 29 4
gpt4 key购买 nike

我在 PHPmyAdmin 中创建了一个名为“people”的表,有 4 列,并填充了 2 行数据。我在名为“db.php”的文件中使用了 Azure 文档中的这段代码来连接到数据库。

db.php:

$connectstr_dbhost = '';
$connectstr_dbname = '';
$connectstr_dbusername = '';
$connectstr_dbpassword = '';

foreach ($_SERVER as $key => $value) {
if (strpos($key, "MYSQLCONNSTR_localdb") !== 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);
}

$link = mysqli_connect($connectstr_dbhost, $connectstr_dbusername, $connectstr_dbpassword,$connectstr_dbname);

if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}

echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;

它成功回显成功:与 MySQL 的正确连接已建立!...

现在,按照 YouTube 教程,我尝试传递表的数据并使用这段代码将其转换为 json 格式:

获取.php:

include_once('db.php');

$query = "SELECT * FROM `people`";

$res = mysqli_query($link,$query);

if($res !== FALSE)
{
echo "table found";
}
else
{
echo "table not found";
}

$result = array();

while( $row = mysql_fetch_array($res) )
array_push($result, array( 'id' => $row[0],
'firstname' => $row[1],
'lastname' => $row[2],
'address' => $row[3]));

echo json_encode(array("result" => $result));

但这只是回显找不到表

我对 SQL 和 PHP 都很陌生。知道出了什么问题吗?

最佳答案

从您的代码来看,您似乎正在使用Azure MySQL In App。默认情况下,Azure 在运行时环境中通过 MYSQLCONNSTR_localdb 变量注入(inject)数据库连接信息。它注入(inject)到变量中的数据库名称名为:localdb

所以我想知道您在哪个数据库下创建了 people 表?如果您已将 people 表放入其他数据库中,如下图所示:
enter image description here

然后 fetch.php 文件中的代码将回显 table not found;如果您已将表放入 localdb 数据库中,那么它将回显“找到表”;

您可以通过Azure Portal添加phpMyAdmin扩展,如下图所示:

enter image description here

然后您可以通过以下网址查看您的数据库内容:https://{YOUR WEB APP'S NAME}.scm.azurewebsites.net/phpmyadmin/ 进入工作台。

另外,您可以引用this link了解有关应用内 MySQL 如何适用于 Web 应用的更多详细信息。

关于PHP 连接到 Azure MySQL 但无法访问表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44875143/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com