Tag: mysql

Knex不返回插入ID

这是我的表(CELLID)结构。 +———+————+——+—–+———+——-+ | Field | Type | Null | Key | Default | Extra | +———+————+——+—–+———+——-+ | CELL_ID | int(11) | NO | PRI | NULL | | | STATUS | tinyint(4) | NO | | NULL | | +———+————+——+—–+———+——-+ 这是我的代码插入到表中。 knex('CELLID').insert(insertObj) .then(function (result) { _log.info(reqContainer.uuid, "Successfully Added To CELLID||", result) // respond back to […]

NPM mysql模块中的连接方法是否被阻塞?

Node.js( 这里 )的官方mysql NPM包文档提供了连接数据库和执行基本查询的以下build议: var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'me', password : 'secret', database : 'my_db' }); connection.connect(); connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) { if (error) throw error; console.log('The solution is: ', results[0].solution); }); connection.end(); connect方法也采用一个可选的callback函数,文档中提供了下面这个用法的例子(忽略下面例子中的注释;这个例子实际上是试图演示别的): var connection = require('mysql').createConnection({ port: 84943, […]

防止JavaScript /节点中的SQL注入

我正在使用Node.js创build一个不和谐的机器人。 我的一些代码如下所示: var info = { userid: message.author.id } connection.query("SELECT * FROM table WHERE userid = '" + message.author.id + "'", info, function(error) { if (error) throw error; }); 人们曾经说过,我放入message.author.id方式并不安全。 我怎样才能做到这一点? 一个例子?

模型与Model Sequelize没有关联

我试图在表格之间build立一对多的关系: Exam和Exam_Questions ,使用Sequelize。 即使表格创build正确,我可以看到他们在PhpMyAdmin,我不断收到在控制台中的以下错误: Error: exam_question is not associated to exam! exam.js … const ExamQuestion = require('./exam-question'); … const Exam = sequelizeInstance.define("exam", { name: { type: Sequelize.STRING }, date: { type: Sequelize.DATE } }); // Build the model relations Exam.hasMany(ExamQuestion, { as: "Questions" }); exam-question.js const ExamQuestion = Sequelize.db.define("exam_question", { correct_answer: { type: Sequelize.STRING }, […]

创build一个用户会话 – NODE js

一般来说,我是新的节点js和JavaScript。 我有下面的一段代码将处理login。 我有一个客户表的MYSQL数据库。 当客户input他们的用户名和密码时,会检查它是否存在于数据库中。 这部分工作。 我现在想要增强此function,以便它将采用用户名和创build某种会话variables,可以在整个应用程序中使用。 我对JS很陌生,所以我不确定哪些内置设施已经存在,或者最佳实践。 我希望能够在整个应用程序中使用这个会话variables,以及为了后续的注销function。 有人能就此提出build议吗,还是指向正确的方向? 谢谢。 情况下“/login”: var body = ''; console.log("user Login "); request.on('data', function (data) { body += data; }); request.on('end', function () { var obj = JSON.parse(body); console.log(JSON.stringify(obj, null, 2)); var query = "SELECT * FROM Customer where name='"+obj.name+"'"; response.writeHead(200, { 'Access-Control-Allow-Origin': '*' }); db.query( query, [], function(err, […]

NodeJS在foreach循环中运行一个promise-mysql查询,每次都等待结果

我想查询一个MySQL数据库两次,第二次,每次结果从第一次多次,但我无法解决如何等待第二个查询的结果,然后再继续 admin.get('/', function (req, res) { mysqlQ("SELECT I.ID as ID, C.ID AS CID, I.PD AS PostDate, C.Name AS CatName, U.UserName AS UserName, I.Title AS Title, I.Post AS PostData FROM categories AS C JOIN INAT AS I ON C.ID = I.Category JOIN Users AS U on U.ID = I.User").then(function (INAT) { INAT.forEach(function (team) { team.time = […]

形成多行插入nodejs-mysql的数组格式

我有一个像下面的对象项目 var item = {"9":"9","22":"22","23":"23","24":"24"}; 和variablesvar cart = 23; 和var group = 40; 现在我想以这样的格式形成这些项目,以便像下面那样执行多行MySQL插入 var sql = "INSERT INTO test (item, cart, group) VALUES ?"; var values = [ [9, 23, 40], [22, 23, 40], [23, 23, 40], [24, 23, 40] ]; 我需要形成上面的数组格式来在节点js中执行多行插入。 如何使上述格式?

我的js脚本的一部分不工作在我的ejs文件中

我的ejs文件中的“if”语句似乎不起作用。 这是我的.ejs文件: <!DOCTYPE html> <html> <head> <title>causelist</title> </head> <body> <h1>Select the causes you want to back.</h1> <form action="/causelist" method="post"> <% cause.forEach(function(cause){ %> <input type="checkbox" name="cause" value="<%= cause.CauseId %>" <% if (cause.CauseId===donate.CauseId1 || cause.CauseId===donate.CauseId2 || cause.CauseId===donate.CauseId3 || cause.CauseId===donate.CauseId4 || cause.CauseId===donate.CauseId5) { %> checked <% } %> > <%= cause.CauseName %> <br> <% }) %> <input type='submit'> […]

使用Mocha和Sequelizetesting模型

我想使用Sequelize作为ORM和Mocha / Chai进行unit testing来testingmysql数据库上的CRUD操作。 我testing了插入/删除logging使用HTTP路由,但我会直接testing模型,而不使用任何http连接。 我试图做到这一点,但是当我启动testinglogging不会被添加,我不会收到任何错误。 应用程序/模型/ article.js module.exports = function (sequelize, DataTypes) { var Article = sequelize.define('Article', { title: DataTypes.STRING, url: DataTypes.STRING, text: DataTypes.STRING }, { classMethods: { associate: function (models) { // example on how to add relations // Article.hasMany(models.Comments); } } }); return Article; }; 应用程序/模型/ index.js var fs = require('fs'), path […]

节点JS mysql用数组数组删除多行

我需要做一个能够从我的表中删除多行的查询。 为了做到这一点,我已经在数组中创build了一个需要传递给该查询的值的数组。 这是我的代码: var deleteRooms = [ [ 3, 23 ], [ 4, 23 ], [ 5, 23 ], [ 2, 23 ]]; connection.query("DELETE FROM rate_plans_rooms WHERE room_id = ? AND rate_plan_id = ? ", [deleteRooms],function(err,results){ if(err){return console.log(err)} else { console.log('sended'); } }); 但每次我收到这样的错误: { Error: ER_PARSE_ERROR: You have an error in your SQL syntax; […]