node.jsとmysqlで複数のSQLを使用するにはどうすればよいですか?

デイン

node.jsとmysqlを使用して複数の選択クエリを配置しようとしました。しかし、コンソールはいくつかのログを出力し、SQLに何か問題があることを示しています。

また、multipleStatementsを作成しました:true;

var mysql = require('mysql');
var pool = mysql.createPool({
    connectionLimit : 5,
    host : '*.*.*.*',
    user : 'root',
    password : '****',
    database : 'db',
    multipleStatements: true
});

このコードは、ネットワークアドレスとサブネットマスクを使用してホストアドレスを計算するために作成しました。計算したホストIPアドレスに一致する行を選択したい。

私はSQL配列を作成し、SQLを配列に入れました..そしてそれを文字列形成にし、1つのSQLステートメントとして解析しました(つまり、sql: "sql1; sql2; sql3; ....")

 pool.getConnection(function(err, connection){
            var sql ="";
            var new_sql = new Array();
            if(req.body.search_network){
                var search_data = [req.body.search_network, req.body.search_subnet];
                console.log("*****:"+search_data);
              
               
             
                //calculating host addresses
                var NETWORK = req.body.search_network;
                var SUBNET = req.body.search_subnet;
                var host_cnt = Math.pow(2,(32-SUBNET));
                var split_net = NETWORK.split('.');
                var NET_1 = Number(split_net[0]);
                var NET_2 = Number(split_net[1]);
                var NET_3 = Number(split_net[2]);
                var NET_4 = Number(split_net[3]);
                //network address
                console.log(NET_1+"."+NET_2+"."+NET_3+"."+NET_4);
                
                console.log(Math.floor(1/Math.pow(256,3)));
                
                 for (var i=1; i<host_cnt-1; i++){
                    var new_NET_1 = NET_1 + Math.floor(i/Math.pow(256,3));
                    var new_NET_2 = NET_2 + Math.floor(i/Math.pow(256,2));
                    var new_NET_3 = NET_3 + Math.floor(i/256);
                    var new_NET_4 = NET_4 + Math.floor(i%256);
                //host address
                    var IP_HOST = String(new_NET_1)+"."+String(new_NET_2)+"."+String(new_NET_3)+"."+String(new_NET_4);
                 
                    new_sql.push(" SELECT ARP_TBL.DEVICE_IP as device_ip, IP_MGMT_TBL.IP as ip, IP_MGMT_TBL.IP_TYPE as ip_type, IP_MGMT_TBL.PURPOSE as purpose, IP_MGMT_TBL.OWNER_NAME as name, IP_MGMT_TBL.OWNER_DIV as owner_div, IP_MGMT_TBL.REQUEST_TIME as request_time, ARP_TBL.PORT as port " + "FROM IP_MGMT_TBL left join ARP_TBL on IP_MGMT_TBL.IP = ARP_TBL.ip " +"WHERE ARP_TBL.ip="+IP_HOST);
                                  
                 }               
                
                
                sql = new_sql.join(';')+";";
                console.log(sql);
                
              
              
              // put query to DB and get results within 'rows'
                connection.query(sql, function(err, rows){
                  if(err) console.error("err:" +err);
                  console.log("rows:"+ JSON.stringify(rows));
                   res.render('ipmgmt/detail', {rows: rows});
                   connection.release();
                  });
              


<!-- begin snippet: js hide: false console: true babel: false -->
; SELECT ARP_TBL.DEVICE_IP as device_ip, IP_MGMT_TBL.IP as ip, IP_MGMT_TBL.IP_TYPE as ip_type, IP_MGMT_TBL.PURPOSE as purpose, IP_MGMT_TBL.OWNER_NAME as name, IP_MGMT_TBL.OWNER_DIV as owner_div, IP_MG
MT_TBL.REQUEST_TIME as request_time, ARP_TBL.PORT as port FROM IP_MGMT_TBL left join ARP_TBL on IP_MGMT_TBL.IP = ARP_TBL.ip WHERE ARP_TBL.ip=101.1.47.254;
err:Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.47.1; SELECT ARP_TBL.DEVICE_IP as dev
ice_ip, IP_MGMT_TBL.IP as ip, IP_MGMT_TBL.' at line 1
rows:undefined

これはコンソールログが言ったことです。また、それは完全なログの一部です。SQLクエリは問題ないように見えますが、クエリでは機能しません。

ダンブラック

引用符で囲む必要があるIPアドレスは、構文エラーの基本的な解決策です。フォームのクエリを使用して、複数のクエリの必要性を排除します。

... WHERE ARP_TBL.ip IN ('ip address1', 'ip address 2', ...)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

gatsby-node.jsで複数のcreatePageルートを使用するにはどうすればよいですか

分類Dev

node.jsで複数行の文字列を作成するにはどうすればよいですか?

分類Dev

node.jsで複数のimap接続を処理するにはどうすればよいですか?

分類Dev

Node-postgresで複数のクエリを使用するにはどうすればよいですか?

分類Dev

MongoDBとNode.jsを使用して複数のオブジェクトをアップサートするにはどうすればよいですか?

分類Dev

node.js:複数の変数をビューに渡すにはどうすればよいですか?

分類Dev

Node jsでFCMを使用して複数のAndroidデバイスにメッセージを送信するにはどうすればよいですか?

分類Dev

Node jsでmulterを使用して複数の画像をアップロードするにはどうすればよいですか?

分類Dev

node.jsを使用してmySQLに一括挿入するにはどうすればよいですか?

分類Dev

node.jsを使用して複数のMongodbクエリを1つに組み合わせるにはどうすればよいですか?

分類Dev

node.jsでhtml5とjqueryを使用するにはどうすればよいですか?

分類Dev

Node jsでutil.promisifyの代替関数を作成するにはどうすればよいですか?

分類Dev

複数のドメイン名を持つ複数のSSL証明書を使用するようにWindowsで実行されているnode.jsを構成するにはどうすればよいですか?

分類Dev

Hyperledger 1.4.4のNode.jsでsetTransientとgetTransientを操作するにはどうすればよいですか(例)?

分類Dev

node.jsのLESSに関数を追加するにはどうすればよいですか

分類Dev

Id、node.jsによってREST APIで複数の投稿リクエストを送信するにはどうすればよいですか?

分類Dev

Node.jsのMongoDBでpopulateメソッドを使用するにはどうすればよいですか?

分類Dev

AngularjsとNode.jsの間に相関関係を作成するにはどうすればよいですか?

分類Dev

SSLを使用するようにNginxとNodeを構成するにはどうすればよいですか?

分類Dev

node.jsで複数のRESTAPIリクエストを非同期に実行するにはどうすればよいですか?

分類Dev

node.jsで同じアプリの複数のインスタンスを禁止するにはどうすればよいですか?

分類Dev

Node.JSで複数の結果を含む応答を「ラップ」するにはどうすればよいですか

分類Dev

mysqlクエリを使用して出力を複数のファイルに送るNode.jsの「メイン」関数を非同期/待機するにはどうすればよいですか?

分類Dev

node.jsの複数のファイルにクラス定義を分割するにはどうすればよいですか?

分類Dev

Node.jsのメモリ使用量を監視するにはどうすればよいですか?

分類Dev

node.jsでsignInWithCredentialを使用するときにTypeErrorを修正するにはどうすればよいですか?[編集:Firebase6.2.2のバグ]

分類Dev

Node-JSを使用するブラウザのクライアント側でJavaScript関数を実行するにはどうすればよいですか?

分類Dev

node.jsに複数のファイルをアップロードするにはどうすればよいですか?

分類Dev

node-postgresを使用して複数の行をPGに適切に挿入するにはどうすればよいですか?

Related 関連記事

  1. 1

    gatsby-node.jsで複数のcreatePageルートを使用するにはどうすればよいですか

  2. 2

    node.jsで複数行の文字列を作成するにはどうすればよいですか?

  3. 3

    node.jsで複数のimap接続を処理するにはどうすればよいですか?

  4. 4

    Node-postgresで複数のクエリを使用するにはどうすればよいですか?

  5. 5

    MongoDBとNode.jsを使用して複数のオブジェクトをアップサートするにはどうすればよいですか?

  6. 6

    node.js:複数の変数をビューに渡すにはどうすればよいですか?

  7. 7

    Node jsでFCMを使用して複数のAndroidデバイスにメッセージを送信するにはどうすればよいですか?

  8. 8

    Node jsでmulterを使用して複数の画像をアップロードするにはどうすればよいですか?

  9. 9

    node.jsを使用してmySQLに一括挿入するにはどうすればよいですか?

  10. 10

    node.jsを使用して複数のMongodbクエリを1つに組み合わせるにはどうすればよいですか?

  11. 11

    node.jsでhtml5とjqueryを使用するにはどうすればよいですか?

  12. 12

    Node jsでutil.promisifyの代替関数を作成するにはどうすればよいですか?

  13. 13

    複数のドメイン名を持つ複数のSSL証明書を使用するようにWindowsで実行されているnode.jsを構成するにはどうすればよいですか?

  14. 14

    Hyperledger 1.4.4のNode.jsでsetTransientとgetTransientを操作するにはどうすればよいですか(例)?

  15. 15

    node.jsのLESSに関数を追加するにはどうすればよいですか

  16. 16

    Id、node.jsによってREST APIで複数の投稿リクエストを送信するにはどうすればよいですか?

  17. 17

    Node.jsのMongoDBでpopulateメソッドを使用するにはどうすればよいですか?

  18. 18

    AngularjsとNode.jsの間に相関関係を作成するにはどうすればよいですか?

  19. 19

    SSLを使用するようにNginxとNodeを構成するにはどうすればよいですか?

  20. 20

    node.jsで複数のRESTAPIリクエストを非同期に実行するにはどうすればよいですか?

  21. 21

    node.jsで同じアプリの複数のインスタンスを禁止するにはどうすればよいですか?

  22. 22

    Node.JSで複数の結果を含む応答を「ラップ」するにはどうすればよいですか

  23. 23

    mysqlクエリを使用して出力を複数のファイルに送るNode.jsの「メイン」関数を非同期/待機するにはどうすればよいですか?

  24. 24

    node.jsの複数のファイルにクラス定義を分割するにはどうすればよいですか?

  25. 25

    Node.jsのメモリ使用量を監視するにはどうすればよいですか?

  26. 26

    node.jsでsignInWithCredentialを使用するときにTypeErrorを修正するにはどうすればよいですか?[編集:Firebase6.2.2のバグ]

  27. 27

    Node-JSを使用するブラウザのクライアント側でJavaScript関数を実行するにはどうすればよいですか?

  28. 28

    node.jsに複数のファイルをアップロードするにはどうすればよいですか?

  29. 29

    node-postgresを使用して複数の行をPGに適切に挿入するにはどうすればよいですか?

ホットタグ

アーカイブ