###前提・実現したいこと
プログラミング初心者です。
Node.js、Expressを使い、http://localhost:3000/にアクセスするとMySQL上のデータを表示できるようにしたいと考えています。
また、コマンドライン上でも同じように表示させていと考えています。(こちらは動作しているようです)
現在、http://localhost:3000/にアクセスすると以下の様なエラーが記載され、ブラウザ上では接続不可の表示がなされます。
どのようなアプローチをなすべきでしょうか?ご教示いただきたく存じます。
###発生している問題・エラーメッセージ
C:\sqlnode>node app results [ RowDataPacket { country: 'japan', capital: 'tokyo' }, RowDataPacket { country: 'usa', capital: 'washington' }, RowDataPacket { country: 'ネーデルランド', capital: 'アムステルダム' } ] conection end events.js:141 throw er; // Unhandled 'error' event ^ Error: Cannot enqueue Handshake after invoking quit. at Protocol._validateEnqueue (C:\sqlnode\node_modules\mysql\lib\protocol\Protocol.js:202:16) at Protocol._enqueue (C:\sqlnode\node_modules\mysql\lib\protocol\Protocol.js:135:13) at Protocol.handshake (C:\sqlnode\node_modules\mysql\lib\protocol\Protocol.js:52:41) at Connection.connect (C:\sqlnode\node_modules\mysql\lib\Connection.js:123:18) at C:\sqlnode\app.js:20:16 at Layer.handle [as handle_request] (C:\sqlnode\node_modules\express\lib\router\layer.js:95:5) at next (C:\sqlnode\node_modules\express\lib\router\route.js:131:13) at Route.dispatch (C:\sqlnode\node_modules\express\lib\router\route.js:112:3) at Layer.handle [as handle_request] (C:\sqlnode\node_modules\express\lib\router\layer.js:95:5) at C:\sqlnode\node_modules\express\lib\router\index.js:277:22 C:\sqlnode>
###該当のソースコード
javaScript
1var express = require('express'); 2var app = express(); 3 4var mysql = require('mysql'); 5var connection = mysql.createConnection({ 6 host: 'localhost', 7 database: 'auth', 8 user: 'root', 9 password: '1374taiki', 10 port: 3306 11 12 13 }); 14 15var data = []; 16 17app.get('/',function(req,res){ 18 var sql = 'select * auth.city;'; 19 connection.connect(); 20 var query = connection.query(sql); 21 query.on('result',function(rows){ 22 data.push(rows); 23 } ) 24 .on('end',function(){ 25 res.writeHead(200,{ 26 'Content-Type':'application/json', 27 'charset':'utf-8' 28 }); 29 res.write(JSON.stringify(data),encoding='utf8'); 30 res.end(); 31 connection.destroy(); 32 }) 33}) 34app.listen(3000); 35 36 37connection.connect(function(err){ 38if(err){ 39 console.error(err); 40} 41}); 42connection.query('select * from city;', function(err, results) { 43 if(err){ 44 console.log(err); 45 } 46 console.log("results") 47 console.log(results); 48 49 50}); 51 52 53connection.end(function () { 54 console.log('conection end'); 55}); 56
###補足情報(言語/FW/ツール等のバージョンなど)
Express使用
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/17 00:27