在 php 中从本地主机连接到在线数据库
connect to online database from localhost in php
我有两个数据库
其中一个在本地服务器上,另一个在线。
我想通过 PHP 代码在本地主机中连接两者。
如何为此目的定义此参数?本地服务器是否需要特殊配置?
//database that is local
define( "HOST", 'localhost' ) ;
define( "DBUSER", 'root' ) ;
define( "DBNAME", 'name_db' ) ;
define( "DBPASS", '' );
//database that is online
define( "HOSTPM", 'localhost' ) ;
define( "DBUSERPM", 'username' ) ;
define( "DBNAMEPM", 'name2_db' ) ;
define( "DBPASSPM", 'password' );
$db = new PDO('mysql:host='. HOST .';dbname='. DBNAME . ';charset=utf8', DBUSER, DBPASS);
$dbpm = new PDO('mysql:host='. HOSTPM .';dbname='. DBNAMEPM . ';charset=utf8', DBUSERPM, DBPASSPM);
if (!$db) {
die('Could not connect: ' . mysqli_error());
}
if (!$dbpm) {
die('Could not connect: ' . mysqli_error());
}
默认情况下,您无法远程访问 mysql 服务器
检查该答案以修改权限:connect to mysql server remotely
GRANT ALL ON database.* TO user@ipaddress IDENTIFIED BY 'password';
您应该使用以下方法强制重新加载授权表:
FLUSH PRIVILEGES;
我有两个数据库
其中一个在本地服务器上,另一个在线。
我想通过 PHP 代码在本地主机中连接两者。
如何为此目的定义此参数?本地服务器是否需要特殊配置?
//database that is local
define( "HOST", 'localhost' ) ;
define( "DBUSER", 'root' ) ;
define( "DBNAME", 'name_db' ) ;
define( "DBPASS", '' );
//database that is online
define( "HOSTPM", 'localhost' ) ;
define( "DBUSERPM", 'username' ) ;
define( "DBNAMEPM", 'name2_db' ) ;
define( "DBPASSPM", 'password' );
$db = new PDO('mysql:host='. HOST .';dbname='. DBNAME . ';charset=utf8', DBUSER, DBPASS);
$dbpm = new PDO('mysql:host='. HOSTPM .';dbname='. DBNAMEPM . ';charset=utf8', DBUSERPM, DBPASSPM);
if (!$db) {
die('Could not connect: ' . mysqli_error());
}
if (!$dbpm) {
die('Could not connect: ' . mysqli_error());
}
默认情况下,您无法远程访问 mysql 服务器
检查该答案以修改权限:connect to mysql server remotely
GRANT ALL ON database.* TO user@ipaddress IDENTIFIED BY 'password';
您应该使用以下方法强制重新加载授权表:
FLUSH PRIVILEGES;