php - 如何使用 php pdo 创建远程 mysql 连接
问题描述
这是我用于连接到本地主机(win 7 上的 xampp)和远程服务器上的 mysql 数据库的代码。
一切正常,但现在我需要创建一个从 localhost 到远程数据库的连接,这样我就可以通过处理本地文件来更改远程表。
我不确定从哪里开始,但假设现有代码是一个起点。
有什么帮助吗?
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if (strpos($url, 'localhost') == true) {
define('DBHOST','localhost');
define('DBNAME','flash');
define('DBUSER','root');
define('DBPASS','');
}
else {
define('DBHOST','...');
define('DBNAME','...');
define('DBUSER','...');
define('DBPASS','...');
}
try {
$db = new PDO("mysql:host=".DBHOST."; dbname=".DBNAME, DBUSER, DBPASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
catch (PDOException $e) {
echo $e->getMessage();
exit;
}
$db->query('SET character_set_client = "utf8"');
$db->query('SET character_set_results = "utf8"');
$db->query('SET collation_connection = "utf8_general_ci"');
error_reporting(E_ALL);
ini_set('display_errors', 'on');
解决方案
推荐阅读
- html - 使用“位置:固定”时,父 div 上的 CSS“背景过滤器”与子 div 的高度和宽度混淆
- printing - 打印作业中有多余的行,不知道为什么 - 可能是换页符
- flutter - 如何让倒计时时钟在后台运行
- vb.net - 如何在 vb.net 中创建 SSL 流 TCP/IP http-server 应用程序?
- typescript - Vue 类组件 'super' 必须在访问 'this' 之前被调用
- python - 如何在 Dash plotly 中将事件处理程序设置为被动以避免数据点被跳过
- swift - Swift 不允许我重命名自定义类以匹配我的控制器?
- python - 如何从反应前端查看django中的数据
- sharepoint - 需要在 sharepoint 中创建一个包含附件的列
- android-studio - 在 Android Studio 中自动完成