2017-11-22 5 views
0

私はexpressでノードアプリケーションを開発中です。しかし、私は非常に奇妙なバグに会った。res.renderは、ノードにmysqlをクエリした後に結果パラメータを取得できません

router.post('/search', function (req, res, next) { 
    var key = req.body.search; 
    if(key.length>0) { 
    connection.query('select * from patient where name=?', [key], function(err, result) { 
     if(err) return console.log(err); 
     console.log(result); 
     res.render('searchPage', { 
     name: "Alex", 
     birthday: result.Birthday, 
     sex: result.sex, 
     symptom: result.Symptom, 
     contact: result.Contact, 
     }); 
    }) 
    } 
}) 

私は何かを検索するために投稿した後、私は私のコマンドラインで何かを得た。

[ RowDataPacket { 
    id: '1', 
    Name: 'Alex', 
    Birthday: null, 
    sex: null, 
    Sympton: null, 
    Contact: '13719483934' } ] 

しかし、私の過去の私のヒスイのファイルに文字列ALex除いて、私のsearchPage htmlページでは何も得ませんでした。私のjadeファイルが可変の値を正しく取得できるようですが、resultのparamはres.render()内で失敗します。問題はどこだ?

答えて

1

resultsは配列です(常にドキュメントを参照してください)。したがって、この場合の最初の要素は次のように使用してください(https://github.com/mysqljs/mysql

pool.query('SELECT 1 + 1 AS solution', function (error, results, 
    fields) { 
    if (error) throw error; 
     console.log('The solution is: ', results[0].solution); 
}); 
+0

解決策です。ありがとうございました。 –

関連する問題