Javascript 在查询中使用数组的节点mysql

Javascript 在查询中使用数组的节点mysql,javascript,mysql,arrays,node.js,escaping,Javascript,Mysql,Arrays,Node.js,Escaping,我正在尝试使用数组执行查询,但出现了解析错误 a-包含一个数组 例:[7,26,87,65,86,23,63,69,44,61,8,79,47,88,15,17] conexao_bd.escapea-转义数组 例:7、26、87、65、86、23、63、69、44、61、8、79、47、88、15、17 它的格式应该是7、26、87、65、86、23、63、69、44、61、8、79、47、88、15、17,这样我就可以在查询中使用它了。有关于如何更改格式的帮助吗 代码 查看Array.joi

我正在尝试使用数组执行查询,但出现了解析错误

a-包含一个数组

例:[7,26,87,65,86,23,63,69,44,61,8,79,47,88,15,17]

conexao_bd.escapea-转义数组

例:7、26、87、65、86、23、63、69、44、61、8、79、47、88、15、17

它的格式应该是7、26、87、65、86、23、63、69、44、61、8、79、47、88、15、17,这样我就可以在查询中使用它了。有关于如何更改格式的帮助吗

代码


查看Array.join以将其作为字符串返回。这是一个基本的javascript问题,与节点无关。

查看Array.join以字符串形式返回。这是一个基本的javascript问题,与节点无关。

查询时出错

conexao_bd.query("SELECT question, answer FROM ", 
应该是

conexao_bd.query("SELECT question, answer FROM "+

查询时出错

conexao_bd.query("SELECT question, answer FROM ", 
应该是

conexao_bd.query("SELECT question, answer FROM "+

事实上,我找到了正确的答案,包括防止SQL注入的转义:

嵌套数组被转换为批量插入的分组列表,例如,['a','b'],['c','d']]转换为'a','b','c','d'

因此,正确的方法是:

conexao_bd.query("SELECT question, answer FROM ? WHERE id IN ?",[tipo,[a]],function(err, rows){

  if(err) 
     console.log("Erro na query questions: "+err);
  else{
    perguntas.questions.push(rows);
    console.log(JSON.stringify(perguntas));
 }
});

事实上,我找到了正确的答案,包括防止SQL注入的转义:

嵌套数组被转换为批量插入的分组列表,例如,['a','b'],['c','d']]转换为'a','b','c','d'

因此,正确的方法是:

conexao_bd.query("SELECT question, answer FROM ? WHERE id IN ?",[tipo,[a]],function(err, rows){

  if(err) 
     console.log("Erro na query questions: "+err);
  else{
    perguntas.questions.push(rows);
    console.log(JSON.stringify(perguntas));
 }
});

但我不想要一根绳子。。。它需要像这样的12,2,14,这样我就可以在查询中使用它:选择问题,从12,2,14中ID所在的游戏中回答;如果您想要一个字符串,您认为查询字符串是什么?这是一根绳子。其中id在+conexao_bd.escapea.join中,+..您不能在转义后使用join。在数组上使用escape后,它不再是一个数组。文档中说数组变成了列表,例如,['a','b']变成了'a','b',所以可能只缺少括号。array.prototype.join将数组中的所有元素合并成一个字符串。但我不想要一根绳子。。。它需要像这样的12,2,14,这样我就可以在查询中使用它:选择问题,从12,2,14中ID所在的游戏中回答;如果您想要一个字符串,您认为查询字符串是什么?这是一根绳子。其中id在+conexao_bd.escapea.join中,+..您不能在转义后使用join。在数组上使用escape后,它不再是一个数组。文档中说数组变成了列表,例如,['a','b']变成了'a','b',所以可能只缺少括号。array.prototype.join将数组中的所有元素合并成一个字符串。