Maison > Questions et réponses > le corps du texte
P粉2129717452023-08-23 13:55:53
Pour répondre à la question initiale et donner un exemple, enveloppez la fonction de rappel dans une fonction anonyme qui crée immédiatement une portée "instantané" contenant les données entrantes.
var ix=1; connection.query('SELECT 1', (function(ix){ return function(err, rows, fields) { console.log("ix="+ix); console.log(rows); }; })(ix));
Pour ceux comme moi qui viennent d'apprendre ce concept, le dernier })(ix)); est la valeur de la var externe ix=1 qui est transmise à (function(ix){. Si vous console. log("ix ="+abc); est remplacé par console.log("ix="+abc);, puis il peut être renommé en (function(abc){.
fwiw (Merci à Chris pour le lien, comblant les lacunes pour trouver la solution)
P粉4760461652023-08-23 11:39:22
Si vous utilisez node-mysql, veuillez suivre les instructions de la documentation :
connection.query( 'SELECT * FROM table WHERE id=? LIMIT ?, 5',[ user_id, start ], function (err, results) { } );
Le code permettant d'échapper correctement les chaînes est également fourni dans la documentation, mais l'utilisation d'un tableau dans un appel de requête l'échappera automatiquement pour vous.
https://github.com/felixge/node-mysql