1

データベースに値を挿入しようとしています。これは mydb で、テーブルはユーザー名とパスワードの 2 つのフィールドでログインしています。Express.js と MySQL を使用しています。挿入クエリのコードは

exports.insert = function(req,res){
    client.query('insert into' +TABLE+ ' SET username=?,password=?' 
                , [req.body.txtUser,req.body.txtPassword]
                ,          
                  function(err,result){  
                     if(err){
                             console.log("error in insertion:"+ err.message);   
                             }
                     else{
                          console.log("query executed");
                          res.json("data inserted");
                          }
                      } 
                 );
             }

サーバーを起動すると、正常に起動し、次のメッセージが表示されます。

開発モードでポート 3000 をリッスンする Express サーバー

しかし、サインアップページにアクセスして値を挿入し、送信を押すと、次のエラーが生成されます

挿入エラー: 接続 ECONNREFUSED

誰でも私を助けることができますか?

4

1 に答える 1

0

これはNode.jsの問題ではありません。通常、MySQLクライアントに接続することはできません。

接続に使用しているユーザー名にMySQL内のアクセスとアクセス許可を与える必要があります。アクセスを許可してから、手動でログインして、MySQLクライアントまたはMySQLAdminやコマンドラインmysqlクライアントなどの管理ツールを使用してこの接続をテストしてみてください。localhostMySQLでは、リモートだけでなくセットアップも必要であることを忘れないでください。私はそれがまだデフォルトでlocalhostのみになっていると信じています。admin@*たとえば、他のホスト名を明示的に設定する必要があります。ここでMySQLマニュアルを読む

クライアントが機能すると、node.jsクライアントは同じユーザー名と設定で機能するはずです。

于 2012-08-07T03:58:57.767 に答える