node 操作 mysql 能插入记录,但是查询不到结果,求解???
db.js 代码:
console.log("开始连接mysql......");
var conn = require("mysql").createClient({
'host':'localhost',
'port':'3306',
'user':'root',
'password':''
});
ClientConnectionReady = function(client){
client.query('USE nodejs',function(error,results){
if(error){
console.log("数据库连接错误:" + error.message);
client.end();
return;
}
console.log("已经建立到数据库:nodejs的连接");
//插入一条测试数据
var sql = "INSERT INTO test SET id=?, user_name=?, nick_name=?",
values = [ , "jim", "jimmy"];
client.query(sql, values, function(error, results){
if(error) {
console.log("插入记录出错: " + error.message);
client.end();
return;
}
console.log('Inserted: ' + results.affectedRows + ' row.');
console.log('Id inserted: ' + results.insertId);
});
getData(client);
});
}
getData = function(client){
var sql = "select * from test";
client.query(sql, function selectCb(error, results, fields){
if(error){
console.log('查询出错:'+error.message);
client.end();
return;
}
console.log("查询表:test");
//console.log(fields);
console.log('查到结果:' + results.length + "条");
if(results.length > 0){ //查看第一条记录
var firstResult=results[0];
console.log('id:' + firstResult['id']);
console.log('user_name:' + firstResult['user_name']);
console.log('nick_name:' + firstResult['nick_name']);
}
});
client.end();
console.log("关闭数据库连接");
}
ClientConnectionReady(conn);
14 回复
数据库里本来有5条我手动添加的数据 去掉getData 把查询操作放在 client.query 的回调里也试过 查询操作还是放在插入操作的后面执行的 仍旧查询不到记录 update操作也是正常的 就查询出问题 郁闷
嗯 谢谢提醒。 问题又来了,今天回到公司我重装了 mysql 模块 , 硬是出现之前的问题 查询不出结果 ,增删改操作都可以。然后我在虚拟机ubuntu里 同样的代码和我在家里机器上win7都能查出结果, 出问题的机器是xp的 难道和操作系统有关系??