Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将对象数组转换为sql查询插入到_Javascript_Sql_Arrays_Ecmascript 6 - Fatal编程技术网

Javascript 将对象数组转换为sql查询插入到

Javascript 将对象数组转换为sql查询插入到,javascript,sql,arrays,ecmascript-6,Javascript,Sql,Arrays,Ecmascript 6,我正在尝试转换一个对象数组,以使用它将查询插入到 这是阵列: [{ topicId: 4, provider: 'ex', postId: 'tT-t1IfwuyI' }, { topicId: 4, provider: 'ex2', postId: '1382658099542084903' }, { topicId: 4, provider: 'ex3', postId: 'BdePFBBBUdI' }, { topicId: 4, provider: 'ex', postId

我正在尝试转换一个对象数组,以使用它将查询插入到

这是阵列:

 [{ topicId: 4, provider: 'ex', postId: 'tT-t1IfwuyI' },
  { topicId: 4, provider: 'ex2', postId: '1382658099542084903' },
  { topicId: 4, provider: 'ex3', postId: 'BdePFBBBUdI' },
  { topicId: 4, provider: 'ex', postId: '-7UZr-wpL_Y' }]
我正试图在数组中创建一个映射来完成此操作…但它只返回一个postid数组:

let sql = array.map(item => (item.topicId.toString(), item.provider.toString(), item.postId.toString()))
结果expect是一个字符串:

( topicId: 4, provider: 'ex', postId: 'tT-t1IfwuyI' ),
      ( topicId: 4, provider: 'ex2', postId: '1382658099542084903' ),
      ( topicId: 4, provider: 'ex3', postId: 'BdePFBBBUdI' ),
      ( topicId: 4, provider: 'ex', postId: '-7UZr-wpL_Y' )
我想将它们转换为在此查询中插入:

query("INSERT INTO table (topic_id, provider, post_id) VALUES " + sql)

我该怎么做呢?

你是说这样的事吗

var arr=[ {topicId:4,提供者:'ex',posted:'tT-t1IfwuyI'}, {topicId:4,提供程序:“ex2”,postId:“1382658099542084903”}, {topicId:4,提供者:'ex3',posted:'BdePFBBBUdI'}, {topicId:4,提供者:'ex',postId:'-7UZr-wpL_Y'} ]; var sql=arr.mapitem=>+item.topicId+,+item.provider+,+item.postId+ logsql如果使用``with${}来放置值,就可以为数组中的每个项创建所需的字符串

常量数组=[{ 主题ID:4, 提供者:“ex”, 帖子:“tT-t1IfwuyI” }, { 主题ID:4, 提供程序:“ex2”, 帖子:“1382658099542084903” }, { 主题ID:4, 提供程序:“ex3”, 帖子:“BdePFBBBUdI” }, { 主题ID:4, 提供者:“ex”, 帖子:'-7UZr-wpL_Y' } ] 让sql=array.mapitem=>`${item.topicId},${item.provider},${item.postId}` //用项目数组。 console.logsql; const finalQuery=插入表主题id、提供程序、post id值+sql console.logfinalQuery
console.logquery+finalQuery+我遇到了一个问题,当我想发送查询时,mysql无法识别我的字符串,因为它们没有撇号,所以我根据Prince Hernandez的答案用这种简单的方法解决了这个问题

const array = [
  {
idservicio: 1,
precio: 20.5,
comentario: 'hello',
descuento: 0,
total: 20.5,
estado: 1
 },
{
idservicio: 2,
precio: 20.5,
comentario: 'World',
descuento: 0,
total: 20.5,
estado: 1
},
{
idservicio: 3,
precio: 20.5,
comentario: '..........',
descuento: 0,
total: 20.5,
estado: 1
}
]
//In the string comentario item, manually add the apostrophes.

let sql = array.map(item => `(${item.idservicio}, ${item.precio}, ${"'"}${item.comentario}${"'"}, ${item.descuento}, ${item.total}, ${item.estado})`)

//array with items.
console.log(sql);


const finalQuery = "INSERT INTO pos.detalle_orden (idservicio, precio, comentario, descuento,total,estado) VALUES " + sql
console.log(finalQuery)
console.log("query("+finalQuery+")")

这是字符串,实际上是一个有效的SQL查询字符串。是的,您是对的,问题中预期的字符串结果无效。您预期的字符串结果不应包含属性名称,而应包含按正确顺序排列的属性值