/ / Consultando o MySQL usando um conjunto de valores em uma matriz JavaScript - mysql, sql, node.js

Consultando o MySQL usando um conjunto de valores em uma matriz JavaScript - mysql, sql, node.js

Gostaria de enviar uma consulta MySQL que pode ser descrita como "retornar todos os valores de * se a coluna id corresponder a algum dos valores em alguma matriz x".

Existe alguma maneira de usar todo o conteúdo de uma matriz em uma consulta dessa maneira?

Respostas:

8 para resposta № 1
var ids = [3, 4, 6, 8];
var query = "SELECT * FROM table WHERE id IN (" + ids.join() + ")";

Agora query contém uma consulta que retornará todas as linhas com id que correspondam a qualquer valor em ids array.

Com pacote mysql você pode emitir essa consulta assim:

var mysql = require("mysql");

var connection = mysql.createConnection({
host     : "localhost",
user     : "admin",
password : "password"
});

// construct query
var ids = [3, 4, 6, 8];
var query = "SELECT * FROM table WHERE id IN (" + ids.join() + ")";

connection.connect();

connection.query(query, function(err, rows, fields) {
if (err) throw err;

console.log(rows) // log all matching rows.
});

0 para resposta № 2

Você pode usar o implode função em PHP para pegar uma matriz e transformá-la em uma string separada por vírgulas como esta:

"SELECIONE DE users WHERE user_id IN (". Implode (", ", $ array_of_user_ids). ")"

Isto está assumindo que sua matriz se parece $array_of_user_ids = array(1, 2, 3, 4, ...).

EDIT: Minhas desculpas, eu não vi a parte sobre este ser um array JavaScript. Adshi tem a sua resposta.