1
你还在处理这个问题吗?节点没有为成功的存储过程返回值
CALL eveql.sp_matFinder('ishkur');
在DBeaver中成功返回并为我返回15行。 我在node.js中为这个调用遵循了这个语法。
connection.query('CALL eveql.sp_matFinder(?);', [itemName], function(err, rows){
if(err) throw err;
console.log(rows);
console.log(JSON.stringify(rows));
});
.query(成功返回,但是我收到一个空数组,其中我的结果应该是。
[ **[]**,
OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 34,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0 } ]
Data : [[],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":34,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
所以我也不知所措。它可以与MySQL进行版本问题反对节点版本。
不是调用存储过程,而是尝试发出普通的旧SELECT语句?这可能有助于确保您的JavaScript代码正常工作。 – andrunix
今天晚些时候我将能够测试这个理论。我们会看看它是否有帮助。 – ElementCR
看看这篇文章,并使用IN/OUT参数。请注意它们在CALL语句上的语法。 https://www.sitepoint.com/using-node-mysql-javascript-client/ – andrunix