[英]SQL SELECT FROM with multiple variables
我想发出一个SELECT FROM请求,而不是用列名(即Alan)代替,而是用一个变量(即名为pseudo的变量)代替它,我知道它可以在php,但是我正在尝试使用Node.js在javascript中做到这一点。
我试图替换列的名称og,但是控制台中的结果是错误的。
没有错误消息,但是控制台中显示的数据为空,仅显示为空括号。
var pseudo = "Alan";
var onlinepeers = "Sarah";
var mysql = require('mysql');
let connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "espace_membre"
});
connection.connect(function(err) {
if (err) throw err;
connection.query("SELECT ALan FROM matches WHERE Alan = '" + onlinepeers + "'", function(err, result) {
if (err) throw err;
console.log(result);
});
});
您可以使用模板文字尝试类似的方法
var pseudo = "Alan";
var onlinepeers = "Sarah";
var mysql = require('mysql');
let connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "espace_membre"
});
connection.connect(function(err) {
if (err) throw err;
connection.query(`SELECT Alan FROM matches WHERE ${pseudo}=${onlinepeers}`, function (err, result) {
if (err) throw err;
console.log(result);
});
});
更好地使用参数化查询
let sql=`SELECT Alan FROM matches WHERE ${pseudo} =?`
connection.connect(function(err) {
if (err) throw err;
connection.query(sql,[onlinepeers], function (err, result) {
if (err) throw err;
console.log(result);
});
});
首先创建一个queryString,如下所示:
let queryString = "SELECT " + pseudo + " FROM matches WHERE " + pseudo + " = .....
然后:
在您的connection.query(queryString)
使用变量queryString
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.