node js插入mysql变量不起作用

问题描述 投票:0回答:2

我正在使用带有node.js的MySql

我有这个查询,它的工作原理:

 connection.query('insert into username (name) values ("msg")', function(err,    rows, fields) {

    if(!err) {


     } });

它插入字符串"msg",而不是变量msg的值,但是当我想插入变量时,这不起作用:

connection.query('insert into username (name) values '+ msg, function(err,    rows, fields) {

    if(!err) {


     } });

例如:

var msg =“你好世界!”;

javascript mysql node.js
2个回答
0
投票

您缺少括号和在第二种情况下生成有效插入语句的引号。您正在构建一个如下所示的sql语句:

'insert into username (name) values hello world'

这是畸形的。使用util模块可以简化字符串格式:

var util - require('util');
var mySql = util.format('insert into username (name) values ("%s")', 'hello world');
connection.query(mySql, function(err,    rows, fields) {

if(!err) {


 } });

0
投票

试试这段代码

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'pass',
  database: 'db_name'
});

connection.query(`INSERT INTO user_table (name, mail, pass) VALUES ('${user_name}', '${user_name}', '${user_name}');`, function (err, result, fields) {
  if (err) throw err;
  });
© www.soinside.com 2019 - 2024. All rights reserved.