500

Error

select `posts`.*, `post_user`.`post_id` as `pivot_post_id`, `post_user`.`user_id` as `pivot_user_id` from `posts` inner join `post_user` on `posts`.`id` = `post_user`.`post_id` where `post_user`.`user_id` = 44 order by `updated_at` desc limit 10 offset -10 - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-10' at line 1

node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14
Query.Sequence._packetToError
return Boolean(this._callback) || listenerCount(this, 'error') > 1; }; Sequence.prototype._packetToError = function(packet) { var code = ErrorConstants[packet.errno] || 'UNKNOWN_CODE_PLEASE_REPORT'; var err = new Error(code + ': ' + packet.message); err.code = code; err.errno = packet.errno; err.sqlMessage = packet.message; err.sqlState = packet.sqlState;
node_modules/mysql/lib/protocol/sequences/Query.js:77:18
Query.ErrorPacket
this._handleFinalResultPacket(packet); } }; Query.prototype['ErrorPacket'] = function(packet) { var err = this._packetToError(packet); var results = (this._results.length > 0) ? this._results : undefined;
node_modules/mysql/lib/protocol/Protocol.js:278:23
Protocol._parsePacket
this._delegateError(err); return; } sequence[packetName](packet); }; Protocol.prototype._parsePacketDebug = function _parsePacketDebug(packet) { try { packet.parse(this._parser);
node_modules/mysql/lib/protocol/Parser.js:76:12
Parser.write
// Try...finally to ensure exception safety. Unfortunately this is costing // us up to ~10% performance in some benchmarks. var hadException = true; try { this._onPacket(this._packetHeader); hadException = false; } catch (err) { if (!err || typeof err.code !== 'string' || err.code.substr(0, 7) !== 'PARSER_') { throw err; // Rethrow non-MySQL errors }
node_modules/mysql/lib/protocol/Protocol.js:38:16
Protocol.write
config : this._config }); } Protocol.prototype.write = function(buffer) { this._parser.write(buffer); return true; }; Protocol.prototype.handshake = function handshake(options, callback) { if (typeof options === 'function') {
node_modules/mysql/lib/Connection.js:91:28
var connection = this; this._protocol.on('data', function(data) { connection._socket.write(data); }); this._socket.on('data', wrapToDomain(connection, function (data) { connection._protocol.write(data); })); this._protocol.on('end', function() { connection._socket.end(); }); this._socket.on('end', wrapToDomain(connection, function () {
node_modules/mysql/lib/Connection.js:502:10
if (Events.usingDomains && ee.domain) { ee.domain.enter(); fn.apply(this, arguments); ee.domain.exit(); } else { fn.apply(this, arguments); } }; }
events.js:189:13
Socket.emit
_stream_readable.js:288:12
addChunk
_stream_readable.js:269:11
readableAddChunk
_stream_readable.js:224:10
Socket.Readable.push
internal/stream_base_commons.js:145:17
TCP.onStreamRead [as onread]
node_modules/mysql/lib/protocol/Protocol.js:144:48
Protocol._enqueue
return sequence; } if (this._config.trace) { // Long stack trace support sequence._callSite = sequence._callSite || new Error(); } this._queue.push(sequence); this.emit('enqueue', sequence);
node_modules/mysql/lib/Connection.js:200:25
Connection.query
query._callback = wrapCallbackInDomain(this, query._callback); } this._implyConnect(); return this._protocol._enqueue(query); }; Connection.prototype.ping = function ping(options, callback) { if (!callback && typeof options === 'function') { callback = options;
node_modules/knex/lib/dialects/mysql/index.js:154:18
if (!obj.sql) { resolver(); return; } var queryOptions = (0, _lodash.assign)({ sql: obj.sql }, obj.options); connection.query(queryOptions, obj.bindings, function (err, rows, fields) { if (err) return rejecter(err); obj.response = [rows, fields]; resolver(obj); }); });
node_modules/knex/lib/dialects/mysql/index.js:148:12
Client_MySQL._query
// Runs the query on the specified connection, providing the bindings // and any other necessary prep work. _query: function _query(connection, obj) { if (!obj || typeof obj === 'string') obj = { sql: obj }; return new _bluebird2.default(function (resolver, rejecter) { if (!obj.sql) { resolver(); return; } var queryOptions = (0, _lodash.assign)({ sql: obj.sql }, obj.options);
node_modules/knex/lib/client.js:202:17
Client_MySQL.query
debugQuery(obj.sql, __knexTxId); debugBindings(obj.bindings, __knexTxId); obj.sql = this.positionBindings(obj.sql); return this._query(connection, obj).catch(function (err) { err.message = _this2._formatQuery(obj.sql, obj.bindings) + ' - ' + err.message; _this2.emit('query-error', err, (0, _lodash.assign)({ __knexUid: __knexUid, __knexTxId: __knexTxId }, obj)); throw err; }); },
node_modules/knex/lib/runner.js:146:36
this.builder.emit('query', (0, _lodash.assign)({ __knexUid: __knexUid, __knexTxId: __knexTxId }, obj)); var runner = this; var queryPromise = this.client.query(this.connection, obj); if (obj.timeout) { queryPromise = queryPromise.timeout(obj.timeout); }
node_modules/knex/lib/runner.js:48:21
} if ((0, _lodash.isArray)(sql)) { return runner.queryArray(sql); } return runner.query(sql); }) // If there are any "error" listeners, we fire an error event // and then re-throw the error to be eventually handled by // the promise chain. Useful if you're wrapping in a custom `Promise`.
/root/.nvm/versions/node/v11.4.0/lib/node_modules/pm2/node_modules/event-loop-inspector/index.js:138:29
Immediate.args.(anonymous function)
(function (index) { args[0] = function () { delete global.activeSetImmediateAndNextTick[index]; // call the original callback return userCallback.apply(this, arguments); }; })(global.activeSetImmediateAndNextTick.counter); global.activeSetImmediateAndNextTick.counter++;
timers.js:632:19
processImmediate
node_modules/knex/lib/runner.js:34:31
Runner.run
// "Run" the target, calling "toSQL" on the builder, returning // an object or array of queries to run, each of which are run on // a single connection. run: function run() { var runner = this; return _bluebird2.default.using(this.ensureConnection(), function (connection) { runner.connection = connection; runner.client.emit('start', runner.builder); runner.builder.emit('start', runner.builder); var sql = runner.builder.toSQL();
node_modules/knex/lib/interface.js:20:43
Builder.Target.then
// Create a new instance of the `Runner`, passing in the current object. Target.prototype.then = function () /* onFulfilled, onRejected */{ var _this2 = this; var result = this.client.runner(this).run(); if (this.client.config.asyncStackTraces) { result = result.catch(function (err) { err.originalStack = err.stack; var firstLine = err.stack.split('\n')[0];

Request Details

URI /liked/show/44?page=0
Request Method GET
HTTP Version 1.1
Connection upgrade

Headers

HOST a.lishaoy.net
X-REAL-IP 3.90.202.157
X-FORWARDED-PROTO https
X-FORWARDED-FOR 3.90.202.157
ACCEPT */*
USER-AGENT claudebot

Cookies