Comment utiliser LIMIT et les espaces réservés dans MySQL (Node.JS)
P粉416996828
2023-07-24 21:17:01
<p>J'essaie d'exécuter une requête avec des espaces réservés à l'aide de Node.js et MySQL. Cependant, l'espace réservé LIMIT ne semble pas fonctionner car la valeur qui le suit doit être sans guillemets. Voici ma requête : </p>
<pre class="brush:php;toolbar:false;">SELECT userName, clics FROM utilisateurs ORDER BY clics DESC LIMIT ?</pre>
<p>Comment puis-je obtenir le comportement souhaité en utilisant des espaces réservés, est-ce possible ? Voici l'instruction de code complète, où data.topUsersCount est une valeur entière : </p>
<pre class="brush:php;toolbar:false;">con.query("SELECT userName, clics FROM utilisateurs ORDER BY clics DESC LIMIT ?", [data.topUsersCount], (err, topUsersData) => {
// Gérer les données
});</pré>
<p>J'ai également essayé d'utiliser le double espace réservé "??", mais cela n'a pas fonctionné non plus. </p>
Voici comment gérer cela dans votre code :
Dans le code ci-dessus, utilisez Number.isInteger(data.topUsersCount) pour vérifier si data.topUsersCount est un entier sûr avant de l'incorporer dans la chaîne de requête. Ceci est essentiel pour prévenir les attaques par injection SQL.