Tag: mysql

通过Nodejs插入数据到Mysql

我试图通过节点js插入数据到MySQL用户表中,我正在使用并遵循https://github.com/felixge/node-mysql#escaping-query-values 下面是我的代码,我真的不知道出了什么问题,我不能通过postData查询插入数据,但它工作,如果我尝试执行testing查询。 为什么不是postData查询工作? var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', port : 3306, database : 'csc309', user : 'root', password : 'root' }); connection.connect(); var postData = {username: 'user4', firstname: 'first', lastname: 'last', password: 'password', email: 'test2@email.com'}; /* var test = connection.query('INSERT INTO user (username, firstname, lastname, password, email) VALUES ("user4", […]

Mysql和NodeJS无法远程连接到已部署的应用程序

我试图从一个NodeJS应用程序连接到一个MySQL数据库(已部署,不在本地主机),目前它会抛出一个错误: Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'user'@'187.189.130.120' (using password: YES) at Handshake.Sequence._packetToError (C:\wamp\Respaldo Linux\Documentos\WebDev\misGastosApp\node_modules\mysql\lib\protocol\sequences\Sequence.js:48:14) at Handshake.ErrorPacket (C:\wamp\Respaldo Linux\Documentos\WebDev\misGastosApp\node_modules\mysql\lib\protocol\sequences\Handshake.js:101:18) at Protocol._parsePacket (C:\wamp\Respaldo Linux\Documentos\WebDev\misGastosApp\node_modules\mysql\lib\protocol\Protocol.js:271:23) at Parser.write (C:\wamp\Respaldo Linux\Documentos\WebDev\misGastosApp\node_modules\mysql\lib\protocol\Parser.js:77:12) at Protocol.write (C:\wamp\Respaldo Linux\Documentos\WebDev\misGastosApp\node_modules\mysql\lib\protocol\Protocol.js:39:16) at Socket.<anonymous> (C:\wamp\Respaldo Linux\Documentos\WebDev\misGastosApp\node_modules\mysql\lib\Connection.js:82:28) at Socket.emit (events.js:95:17) at Socket.<anonymous> (_stream_readable.js:748:14) at Socket.emit (events.js:92:17) at emitReadable_ (_stream_readable.js:410:10) ——————– at Protocol._enqueue (C:\wamp\Respaldo Linux\Documentos\WebDev\misGastosApp\node_modules\mysql\lib\protocol\Protocol.js:135:48) at Protocol.handshake (C:\wamp\Respaldo […]

Node.js护照本地注册上的同步呼叫

我一直在努力与Node.js相处,我正在努力学习一些核心的东西。 我的问题是在护照我不知道如何进行同步通话。 我想要的是:如果有用户已经注册的电子邮件,我不想创build它,虐待一个闪光的消息,否则我会创build用户。 我不确定如何在检查电子邮件唯一性后才创build用户。 我在if语句中使用return true / false来尝试,但它看起来不正确。 我从scotch.io的护照教程中调整了我的代码。 // passport.js // load all the things we need var LocalStrategy = require('passport-local').Strategy; // load up the user model var User = require('../app/models/user'); // expose this function to our app using module.exports module.exports = function(passport) { // ========================================================================= // passport session setup ================================================== // ========================================================================= // […]

在Node.js中使用PHP会话(存储在mySql中)

我试着在node.js中使用活动会话(在php中启动) 对于PHP,我将会话存储在mysql中(通过使用session_set_save_handler ,如http://phpsecurity.org/code/ch08-2中所述 )。 适用于PHP。 现在计划: 1)从PHP应用程序的客户端“执行”node.js链接与客户端的PHPSESSID cookie在GET: http://192.168.0.222:53077/?phpsession=02isg9kv8fbveqhmt1htcj6cc7 2)在node.js服务器端获取PHPSESSID,在mysql会话表中查找它的值 3)如果mysql中存在PHPSESSID值 – 读取存储在mysql(会话表)中的用户id,名称和其他用户的数据, 问题是 – 是对的吗? 我认为我错了,至less从第2步。什么是正确的方式工作在Node.js会话存储在MySQL中从PHP开始? 请尽量不build议我将会话存储在memcached或redis中,我select了mysql。

将mysql的查询结果存储在redis中

我正在尝试使用redis来存储用户和天气的列表,或者不在线或离线,并将该信息显示给其他用户。 我相当新的节点,我相信我需要使用一个列表或sorting集。 当它到达console.log(答复); 行它只显示“对象” 我想我需要遍历查询的结果来build立列表,但我不太确定1)如何循环直接在服务器应用程序中的结果和2)如何build立基于该查询的列表或sorting集。 任何意见或build议将不胜感激。 var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : 'password', database : 'users' }); var redis = require('redis') , client = redis.createClient(); connection.connect(); connection.query('SELECT * FROM user_profile', function(err, rows, fields) { if (err) throw err; client.set('string key', rows[0], redis.print); client.get("string key", function […]

为什么在Node.js中使用escape()时,MySQL不显示错误?

我正在使用我的Node.js / Express应用程序的mysql模块。 当我查询MySQL没有的数据时,它显示错误。 那正是我期待的。 但是,如果我在传递的数据上使用connection.escape(),即使它们假设是错误的,它也会像没有发生任何事情一样继续执行代码。 为什么? 以下是我的代码。 请记住,我正在传递不存在的数据。 我期待错误,我希望它发生。 下面是我所期望的。 我通过POST传递的ID不在数据库中,因此控制台日志logging:错误 app.post('/check', function(req,res) { connection.query('SELECT * FROM category where id="' + req.body.id + '"', function(err,rows,fields) { if(err) { console.log('ERROR'); } else { console.log('SUCCESS'); } }); }); 下面我添加了connection.escape()function。 现在运行时,即使数据不在数据库中,控制台也会loggingSUCCESS。 app.post('/check', function(req,res) { connection.query('SELECT * FROM category where id=' + connection.escape(req.body.id) + '', function(err,rows,fields) { if(err) […]

Sailsjs Mysql ORM在同一个表字段上进行多个查询

我使用的风帆V 0.10.5和最新的风帆 – MySQL的 我有一个餐厅过滤系统 Venue.find().populate('comments', { deleted: false }).where({ restaurant_services: {contains: '"delivery":1'}, restaurant_services: {contains: '"takeout":1'}, restaurant_specialties: {contains: '"breakfast":1'} }) 现在问题是当我从客户端获取数据时,我不知道用户为restaurat_servicesselect了多less项目,所以显然我必须为.where()函数创build一个dynamicJSON对象 问题是,我不能这样做 var searchObj = {}; searchObj['restaurant_specialties'] = {contains: '"breakfast":1'}; searchObj['restaurant_specialties'] = {contains: '"breakfast":1'}; 所以你可能会看到之前的值设置被第二次replace, 任何帮助将不胜感激聪明的人在这里,但不工作 Model.find({ name: { 'contains' : ['Walter', 'Skyler'] } });

在左连接中不能保留第一个表的id

我正在使用帆水线ORM,我有三个表在我的模型层 1- s_class attributes: { c_title:{ type:'string', required: true }, sec:{ collection:'s_section', via:"cls" }, s_session:{ model:'s_session', columnName:'session' } } 2- s_section attributes: { sec_title:{ type:'string' }, sec_priority:{ type:'integer', required: true }, cls:{ collection:'s_class', via:"sec" } } 3- s_form attributes: { studentName:{ type:'string' }, s_class:{ columnName:'s_class', model:'s_class' }, s_section:{ columnName:'s_section', model:'s_section' } } 我将课程和课程分配给学生,并保存在s_form表格中。当我编写一个查询来获得学生的logging时,他的课程和部分是这样的: s_form.query("SELECT * […]

“插入”不适用于node.js

我想要一个简单的查询node.js和mysql(插入)的用户registry单。 此查询不起作用:它不会在数据库中插入数据,我不确定是否是调用查询的正确方法。 app.route('/adminpanel/registeruser') .post(function(req, res) { pool.getConnection(function(err, connection) { if(err) { console.log(err); connection.release(); } else { var username = req.body.username, password = req.body.password, name = req.body.name, email = req.body.email, company = req.body.company, active = req.body.active, myquery = "INSERT INTO `oneclick`.`oc_users` (`username`, `password`, `name`, `email`, `company`, `active`) SET ('" + username + "', '" + password […]

Node.js安全

我正在build设一个基本的应用程序,使用node.js和mysql,只是得到它的一个挂起,我想保护的API,就像只允许某些人访问数据,也许通过传递一个特定的标记,每次用户请求一些信息,我试图寻找某些使用node.js和mysql数据库和安全性的教程,我很困惑,要使用哪种安全措施,我甚至读了Json Web Tokens,但没有find适当的教程。请指向正确的方向。 编辑 我的意思是说,只有经过身份validation的用户才可以访问api中的数据,当一个随机访问者试图访问一个他不应该被拒绝的URL时,如果没有正确的身份validation,我现在最主要的是当一个用户经过validation,用户应该是发送了某种令牌,然后才能访问私人数据,我不完全知道如何去做这件事情。如果你能为我清理它,会很高兴。