在node.js中使MySQL的ORDER BY动态化

时间:2016-09-21 20:08:23

标签: mysql node.js node-mysql

我想在node.js中的mysql查询中创建UIBackgroundModes动态。但它不起作用。我ORDER BY multiQuery变量,一切看起来都很完美但是在运行时它根本不起作用。这就是我所拥有的:

console.log

3 个答案:

答案 0 :(得分:1)

这不起作用:

SELECT foo FROM bar ORDER BY baz;

这确实有效:

connection.escape

您是否尝试删除function escapeSansQuotes(connection, criterion) { return connection.escape(criterion).match(/^'(\w+)'$/)[1]; } 添加的引号?

尝试使用此:

escapeSansQuotes(connection, order)

然后使用connection.escape(order)代替public class Degree { public Degree() { Course = new Course(); } public Course Course { get; set; } } public class Course { public Course() { Student = new Student(); } public Student Student { get; set; } } public class Student { public Student() { } }

答案 1 :(得分:0)

尝试为每个令牌使用适当的间距

//PROBLEM LIES HERE IN THE SECOND ONE
multiQuery += 'SELECT ID, Title, Img_path, Category, Views 
           FROM posts WHERE Category = ' + connection.escape(category) + 
           ' ORDER BY ' + connection.escape(order) + 
           ' DESC LIMIT ' + start_from + ', 15;';

答案 2 :(得分:0)

检查您是否确实在连接对象中启用了多个查询。

http://nickolayconsulting.com/node-js-and-multiple-sql-calls-in-one-query/

  

默认情况下,对安全性禁用对多个语句的支持   原因(如果值不是,它允许SQL注入攻击   适当逃脱)。要使用此功能,您必须为您启用它   连接:

var connection = mysql.createConnection({multipleStatements: true});