首页 > 解决方案 > 如何在节点 JavaScript 中连接到远程 MySQL 数据库(使用 PHP 配置文件)

问题描述

假设我的网站是:https ://www.anysite.com并且配置文件的路径是:https ://www.anysite.com:/ include 我在主机上的 adminconnction.php 文件是:

<?php
    $host_name='db0000000.hosting-data';
    $database='db';
    $user_name='user';
    $password='password';
    $link =new mysqli($host_name,$user_name,$password,$database);
    if ($link->connect_error){
        die();
        return;
    }
?>

在节点 JavaScript 中,我尝试在 localhost 上连接 MySQL 它可以工作,但是当我连接到我的主机时它失败了。这是我的一些代码。应用程序.js

 const express  = require("express"),
 bodyParser  = require("body-parser"),
 http        =require('http'),
 url         =require('url'),
 mysql       = require("mysql"),
 path        = require("path"),
 app         = express(),
 port        = 8081;
 
 app.set("port", process.env.port || port);
 console.log("main path="+ __dirname);
 app.set("views",__dirname+"/views");
 app.use(bodyParser.urlencoded({extended:false}));
 app.use(bodyParser.json());
 app.use(express.static(path.join(__dirname,'public')));

 const db = mysql.createConnection({
     host : "db0000000.hosting-data",
     user : "user",
     password : "password",
     database : "db"
     });

 db.connect((err)=>{
     if (err) throw err;
     console.log('connection complete successfully');
 });


 app.listen(port,()=>{
     console.log("server running on port:"+ port);
 });

当我运行 nodemon 时出现错误

错误:getaddrinfo ENOTFOUND db0000000.hosting-data db0000000.hosting-data:3306 在 GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)

标签: phpmysqlnode.js

解决方案


推荐阅读