首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Appfog用node.js如何用javascript访问mysql数据库?

Appfog用node.js如何用javascript访问mysql数据库?
EN

Stack Overflow用户
提问于 2013-01-05 06:46:32
回答 3查看 1.8K关注 0票数 2

我有一个在appfog中发布的node.js应用程序,但是当我尝试用( https://github.com/felixge/node-mysql )通过javascript访问mysql数据库时,似乎没有安装"node-mysql“,该怎么做呢?appfog网站上没有文档。谢谢。

服务端app.js的代码:

代码语言:javascript
复制
if(process.env.VCAP_SERVICES){
var env = JSON.parse(process.env.VCAP_SERVICES);
var cre = env['mysql-5.1'][0]['credentials'];
}
var Client = require('mysql').Client,
client = new Client();
client.user = cre.user;
client.password = cre.password;
client.host=cre.host;
client.port=cre.port;
client.database=cre.name;
client.connect();

client.query(
    'SELECT * FROM scores ',
    function selectPlayers(err, results, fields) {
        if (err) {
            console.log("Error: " + err.message);
            throw err;
        }
        console.log("Number of rows: "+results.length);
        console.log(results);
        client.end();
    });

以及错误:

代码语言:javascript
复制
module.js:340
throw err;
      ^
Error: Cannot find module 'mysql'
at Function.Module._resolveFilename (module.js:338:15)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-05 06:58:07

您应该添加

代码语言:javascript
复制
"mysql": "2.0.x || 2.1.x",

添加到package.json文件中的依赖项中,然后执行

代码语言:javascript
复制
npm install

你可以查看Appfog的documentation here。有一节是关于依赖项管理的

票数 1
EN

Stack Overflow用户

发布于 2013-01-05 07:02:52

Appfog支持NPM,NPM是在node中安装依赖项的标准方式。

您可以通过控制台使用npm install mysql或通过将mysql添加到您的package.json文件并执行npm install来完成此操作。

第二种方法将自动安装应用程序的所有依赖项。

来源:https://docs.appfog.com/languages/node#node-dep-mgmt

票数 1
EN

Stack Overflow用户

发布于 2013-01-08 03:59:00

您好,您只需下载并在本地安装node.js,这将在您计算机上启用npm命令,然后转到AppFog面板上的“服务”部分创建您的mySQL服务(VCAP_SERVICES)

当您向应用程序提供并绑定服务时,AppFog会创建一个名为VCAP_SERVICES的环境变量。

此变量包含一个JSON文档,其中包含绑定服务的所有凭据和连接信息的列表。

以下是绑定了两个MySQL数据库服务的应用程序的环境变量的示例:

代码语言:javascript
复制
{"mysql-5.1":[
{
    "name":"mysql-4f700",
    "label":"mysql-5.1",
    "plan":"free",
    "tags":["mysql","mysql-5.1","relational"],
    "credentials":{
        "name":"d6d665aa69817406d8901cd145e05e3c6",
        "hostname":"mysql-node01.us-east-1.aws.af.cm",
        "host":"mysql-node01.us-east-1.aws.af.cm",
        "port":3306,
        "user":"uB7CoL4Hxv9Ny",
        "username":"uB7CoL4Hxv9Ny",
        "password":"pzAx0iaOp2yKB"
    }
},
{
    "name":"mysql-f1a13",
    "label":"mysql-5.1",
    "plan":"free",
    "tags":["mysql","mysql-5.1","relational"],
    "credentials":{
        "name":"db777ab9da32047d99dd6cdae3aafebda",
        "hostname":"mysql-node01.us-east-1.aws.af.cm",
        "host":"mysql-node01.us-east-1.aws.af.cm",
        "port":3306,
        "user":"uJHApvZF6JBqT",
        "username":"uJHApvZF6JBqT",
        "password":"p146KmfkqGYmi"
    }
}
]}

您可以使用应用程序的特定语言工具来调用环境变量。

在Java中:

代码语言:javascript
复制
 java.lang.System.getenv("VCAP_SERVICES")

在Ruby中:

代码语言:javascript
复制
  ENV['VCAP_SERVICES']

在Javascript中:

代码语言:javascript
复制
 process.env.VCAP_SERVICES

在Python中:

代码语言:javascript
复制
 os.getenv("VCAP_SERVICES")

在PHP中:

代码语言:javascript
复制
 getenv("VCAP_SERVICES")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14166243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档