我想使用mysql在快速框架中使用AND运算符来实现查询。
mysql查询:从问题中选择*,其中question_id = 1 AND answer =" apple" AND appkey =" 1122&#34 ;;
我想使用mysql在express js中实现上述查询。我尝试过以下查询。
req.getConnection(function(err,connection){
var data = {
qid : input.questionid,
ansvalue : input.answervalue,
appid : input.appkey,
};
console.log(data);
var query = connection.query('SELECT * FROM request_auth WHERE question_id = ?',[qid]'AND answer_description = ?',[ansvalue]'AND app_key = ?',[appid],function(err,rows)
{
if(query=='')
console.log("Error Selecting : %s ",err );
res.render('edit_customer',{page_title:"Edit Customers - Node.js",data:rows});
});
但它是抛出错误qid未定义。请给我解决方案。谢谢。
答案 0 :(得分:2)
您必须将实际查询(使用占位符)和占位符参数分开(请参阅第三个示例here):
connection.query('SELECT * FROM request_auth WHERE question_id = ? AND answer_description = ? AND app_key = ?', [qid, ansvalue, appid], ...)
另外,请确保在查询完成后调用connection.release()
(更多信息here)。
答案 1 :(得分:1)
我刚刚推出了一个潜在的快速解决方案,因为我之前没有使用过这个框架,但你可能需要在使用变量之前添加空格,因为它似乎可能没有使用AND因为它将它视为一个长词。