Bonjour, je suis en train d'apprendre nodeJS, et pour l'instant, je sais faire en sorte qu'un utilisateur puisse se connecter et se déconnecter, mais comment faire en sorte de récupérer ses informations dans la base de donnée ?

// app.js

app.get('/home', function(request, response) {
    // If the user is loggedin
    if (request.session.loggedin) {
        // show the home page of logged users
        username = request.session.username
        catfood = request.session.catfood
        password  = request.session.password
        email = request.session.email
        var sql = "SELECT * FROM drops WHERE username = '"+ username + "'";
        connection.query( sql, function ( err, resultSet ) {

            if ( err ) throw err;

            //console.log( resultSet );
            catfood = resultSet[0].catfood;

        });
        response.render('loggedin/index', )
        //response.end();

    } else {
        // Not logged in

        response.send('Please login to view this page! <a href="login">login</a>');
    }
    //response.end();
});
// index.ejs

<div class="max-w-screen-lg bg-white shadow-2xl rounded-lg mx-auto text-center py-12 mt-4">
<h2 class="text-3xl leading-9 font-bold tracking-tight text-red-800 sm:text-4xl sm:leading-10">
<%= J'aimerais afficher ici toutes les infos le concernant dans la BDD %>
</h2>
</div>

2 réponses


ToinouPHP
Auteur
Réponse acceptée

J'ai réussi, il fallait faire ça :

app.js :

var sql = "SELECT * FROM drops WHERE username = '"+ username + "'";
        connection.query( sql, function ( err, resultSet ) {
            response.render('loggedin/index', {
                user: resultSet
            });

index.ejs :

<% user.forEach(function(o) { %>
    <%= o.username %> - <%= o.cat %> <br>
<% }); %>

pour connecter nodejs à mysql, je te propose d'utiliser la librairie mysql2 disponible sur npm.

puis tu vas importer le module comme ceci;

import mysql = require('mysql2/promise');

ensuite tu pourras te créer une fonction un peu comme ceci:

export async function query(queryString)
{

  // create the connection
  const connection = await mysql.createConnection({host:'localhost', user: 'root', database: 'demo'});
  // query database
  const [rows, fields] = await connection.query(query);

  return rows;
}