我试图弄清楚,如何从MySql数据库表中检索记录,该表位于服务器A上,即从服务器B php mysqli PHP Version 7.2.8检索PHP Version 5.3.29
我找到了这个例子如何使用PHP连接到远程MySQL数据库,但我不明白,它与我想要做的事情有什么关系,怀疑它是不是我想要的
我是php的新手,我能想象的是,我应该在Remote MySQL服务器AE 221服务器AE 22上添加来自服务器A的php mysqli连接数据,并在e 123/code>服务器Ae 224中添加服务器B的access host IP,但我不确定在哪里我必须在E 125服务器BE 226上添加数据库用户和密码。
服务器A
phpinfo();:PHP Version 5.3.29版本
数据库服务器 服务器:本地主机通过类型: MySQL服务器版本: 5.6.39 - MySQL社区服务器(GPL)协议版本: 10服务器字符集: UTF-8 Unicode (utf8) Web服务器 数据库客户端版本: libmysql - 5.1.73 PHP扩展: mysqliDocumentation curlDocumentation mbstringDocumentation PHP版本: 5.6.30 phpMyAdmin 版本信息: 4.7.7
服务器B
phpinfo();:PHP Version 7.2.8版本
数据库服务器 服务器:通过类型的本地主机: MariaDB服务器版本:5.5.56-MariaDB-MariaDB服务器协议版本: 10服务器字符集: UTF-8 Unicode (utf8) Web服务器 数据库客户端版本: libmysql - mysqlnd 5.0.11-dev - $Id: mysqliDocumentation curlDocumentation mbstringDocumentation phpMyAdmin 版本信息: 4.6.6
任何建议、指南或例子都会很有帮助。
编辑:
我的回答是,首先,我在IP服务器A上的Remote MySQL中添加了服务器B。My conn.php,位于服务器B上,用于连接到服务器A
<?php
$servername = "Server_A_IP";
$username = "Server_A_database_user";
$password = "Server_A_database_user_password";
$db = "Server_A_database";
$conn = new mysqli($servername, $username, $password, $db);
$conn->set_charset('utf8');
if(!$conn)
{
die ("Error on the Connection" . $conn->connect_error);
}
?>dbtab.php还位于Server B上,conn.php位于同一个文件夹中:
<?php
include 'conn.php';
$sql = "SELECT * FROM tab";
$result = $conn->query($sql);
?>
<!DOCTYPE html>
<html>
<h1 align="center">Database</h1>
<table border="1" align="center" style="line-height:25px;">
<tr>
<th colspan="2">Records</th>
</tr>
<tr>
<th bgcolor="#ff897f">id</td>
<th bgcolor="#ff897f">name</td>
</tr>
<?php
if($result->num_rows > 0)
{
while($row = $result->fetch_assoc())
{
?>
<tr>
<td bgcolor="#e5cac8"><?php echo $row['id']; ?></td>
<td bgcolor="#e5cac8"><?php echo $row['name']; ?></td>
<?php
}
}
else
{
?>
<tr>
<th colspan="2">There's No data found!!!</th>
</tr>
<?php
}
?>
</body>
</html>但结果是,当我绑定打开www.site.com/folder/dbtab.php或www.site.com/folder/conn.php时,页面不会加载,只会结冰
服务器的ping A

发布于 2018-08-17 12:05:05
在服务器A上不需要php。您只需将MySQL服务器(服务器A)配置为
如果已经设置了此连接,则可以通过以下方法从服务器B上的php创建连接
$mysqli = new mysqli("<IP of Server A>", "user", "password", "database");
请参阅以下优秀的php网站:mysqli连接
步骤1、2取决于您的MySQL服务器。如果您有直接的根访问权限,则需要编辑配置文件并允许联网,否则将取决于托管服务。
若要创建具有远程访问权限的用户帐户,请发出以下SQL语句(或使用web ):
GRANT <Rights> ON <db-name>.* TO 'username'@'<IP of Server B>';
请参阅关于向用户授予特权的MySql手册:https://dev.mysql.com/doc/refman/5.5/en/grant.html
https://stackoverflow.com/questions/51894844
复制相似问题