[英]NodeJS / MySQL quotes in query data url
大家好,我有一个关于使用NodeJS和MySQL数据库的javascript中单引号/双引号的快速问题。这是我的代码
app.get('/AddCollection', function (req, res) { var queryData = url.parse(req.url , true).query; connection.query("INSERT IGNORE INTO collections VALUES ('" +queryData.nom+ "' ,'" +queryData.categorie+ "','" +queryData.description+ "','" + queryData.urlimage+"')", function (err, result) { if (err) throw err; res.json("Vous avez ajouté "+queryData.categorie+"et"+queryData.description+"et"+queryData.objet+"a la table"); } ); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
删除查询:
app.get('/DeleteCollection', function (req, res) { var queryData = url.parse(req.url , true).query; connection.query("DELETE FROM `collections` WHERE `collections`.`nom` ='"+queryData.nom+"'", function (err, result) { if (err) throw err; res.json("Vous avez ajouté supprimé la collection"+ queryData.nom); } ); });
问题是我已经在调用中使用了简单和双引号。 因此,例如,如果queryData.nom或queryData.categorie等于the heroes' places
那么该代码将无法正常工作,因为它将使简单的引号引起混淆。如何解决此问题?
参数化您的查询
connection.query("INSERT IGNORE INTO collections VALUES (?, ?, ?, ?)", [queryData.nom, queryData.categorie, queryData.description, queryData.urlimage], function (err, result) {
if (err) throw err;
res.json("Vous avez ajouté "+queryData.categorie+"et"+queryData.description+"et"+queryData.objet+"a la table");
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.