Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
275 views
in Technique[技术] by (71.8m points)

javascript - passing parameters into sql insert

I have an insert query, where i am inserting a string into my db2 database, but the string may include " or '. could I use parameters for inserting to get around this issue?

var addProducts = "insert into PRODUCTS ( ITEM, DESCRIPTION, PRICE, SIZES, IMAGE ) VALUES ('" +
  req.query.item +
  "', '" +
  req.query.description +
  "', '" +
  req.query.price +
  "', '" +
  size +
  "', '" +
  image_url +
  "' )";

that is what I have right now... thanks for help in advance :)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I hope this will be useful for you:

Using `` and ${}:

var addProducts = `INSERT INTO PRODUCTS ( ITEM, DESCRIPTION, PRICE, SIZES, IMAGE ) VALUES (${req.query.item}, ${req.query.description}, ${req.query.price}, ${size}, ${image_url} )`;

In the types diff to string add .toString():

req.query.price.toString();
size.toString();

And if you require the quotation mark:

var addProducts = `INSERT INTO PRODUCTS ( ITEM, DESCRIPTION, PRICE, SIZES, IMAGE ) VALUES ('${req.query.item}', '${req.query.description}', '${req.query.price}', '${size}', '${image_url}' )`;

In addition you can scape quotation marks in the string with

const str = ""'";



var addProducts = `INSERT INTO PRODUCTS ( ITEM, DESCRIPTION, PRICE, SIZES, IMAGE ) VALUES ('${req.query.item}', '${req.query.description}', '${req.query.price}', '${size}', '${image_url}' )`;

I did this exercise:

sql.connect(sqlConfig, function() {
    var request = new sql.Request();
    var stringRequest = "INSERT INTO PRODUCTS (ITEM, DESCRIPTION, PRICE, SIZES, IMAGE) VALUES ("+ req.query.item +","+ req.query.description +","+ req.query.price+","+ size +","+image_url+" )";
    request.query(stringRequest, function(err, recordset) {
        if(err) console.log(err);
        res.end(JSON.stringify(recordset)); // Result in JSON format
    });
});

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...