2016-08-02 6 views
0

以下のMySQLコマンドはphpmyadminでテストされて正常に動作しました。コマンドに問題はありません。私はNode.jsの上でそれを使用しようとすると、私は更新され、IDの結果を得ることができないと私は、このコマンドで最後に更新された行のIDを取得しようとしている最後に更新された行のIDを取得しようとすると、未定義になる

function registerNewAccount(username, password, name, family, mobileNumber, callback) { 

    var query = "SET @update_id := 0; UPDATE users SET username = ?, password = ?, name= ?, family = ?, id = (SELECT @update_id := id) WHERE mobileNumber = ?; SELECT @update_id;"; 
    connection.query(query, [username, password, name, family, mobileNumber] , function (err, results) { 
     if (err) return callback(false); 

     console.log(results); 
    }); 
} 

resultsパラメータにundefinedを取得します。どうすれば修正できますか?

+0

これは、JavaScriptやNode.jsのよりMySQLで行うことがより多くを持っているように見える... –

答えて

2

あなたは、このような接続を作成する必要があります。var connection = mysql.createConnection({multipleStatements: true});

+0

はあなたに非常に多くの先生に感謝し、問題が –

+0

@mahdipishguyクール解決しました。私の答えを親切に受け入れてください –

+0

'result'変数の内容であるこの結果から' @ update_id'をどうやって得ることができますか? '[OkPacket { FieldCountの:0、 affectedRows:0、 insertId:0、 changedRows:0}、 OkPacket {FieldCountの:0、 changedRows:1}、 [RowDataPacket { '@update_id':29} ]] ' –

関連する問題