我正在学习 nodejs 并使用“mysql”模块。使用此功能,我想验证数据库中是否已存在名称。
我有当前的错误
TypeError: Object #<Handshake> has no method 'query'
我认为它与“this.query”有关,但找不到修复它的方法。
代码
var mysql = require('mysql');
var conexao_bd = mysql.createConnection({
host: 'localhost',
user: 'user',
password: 'password',
database: 'db_name'
});
function verifica_nome(n){
var bool = false;
conexao_bd.connect(function(err){
if(err){
return console.log("Aconteceu um erro quando se tentava ligar à base de dados. Erro: "+err);
}
else{
this.query("SELECT name FROM Users WHERE name=?", [n], function(err,rows){
if(err != null){ this.end("Erro na query: "+err); }
else{
if(rows[0]!=n){ bool=true; this.end(function(err){ return bool;})}
else{ this.end(function(err){ return bool;})}
}
});
}
});
}
最佳答案
您应该使用 conexao_bd
,它是连接对象,而不是 this
:
conexao_bd.query(...);
conexao_bd.end();
关于javascript - node-mysql:使用 object.query 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20801317/