【发布时间】:2019-08-28 01:02:08
【问题描述】:
我使用 Microsoft Azure 门户(MySQL 数据库)创建了一个数据库。
目前我正在使用 PHP 连接数据库。
$servername = "server.mysql.database.azure.com";
$username = "username@server";
$password = "password";
$dbname = "database";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname, 3306);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
以 JSON 格式填充数据的 SQL 查询。
$sql = "SELECT id, username, score FROM ScoreTable";
$result = $conn->query($sql);
$dbdata = array();
while ( $row = $result->fetch_assoc()) {
$dbdata[]=$row;
}
echo json_encode($dbdata);
结果(localhost/jubakee.php OR http://192.168.1.7/jubakee.php(本地IP)都产生相同的结果)。
[{"id":"1","username":"Stacey","score":"500"},
{"id":"2","username":"SJ","score":"600"}]
我遇到的问题是我希望能够从不同的网络(例如 3G/4G 或我朋友家)访问此数据库。
当我尝试在我的 Android 设备上加载 http://192.168.1.7/jubakee.php 时,它只会在我与 PC 位于同一网络(同一 Wi-Fi 网络)上时产生结果。
当我将网络从 Wi-Fi 切换到移动数据 (3G) 时,我无法再访问数据库,http://192.168.1.7/jubakee.php 也不会加载。
这样做的目的是我可以创建一个在线数据库,该数据库将与我的 C# android 应用程序进行交互。数据库将存储用户的分数。
如何允许使用不同网络的用户连接到我的数据库?
谢谢。
【问题讨论】:
标签: php android mysql networking localhost