gpt4 book ai didi

javascript - Node.JS 没有选择数据库,尽管它是

转载 作者:行者123 更新时间:2023-11-29 19:09:01 25 4
gpt4 key购买 nike

所以我在我的node.js 代码中收到“未选择数据库”错误。但是,它被选中,并且当我第一次启动它时,连接语句确实返回一条成功消息。我的插入方式遵循本教程(https://www.sitepoint.com/using-node-mysql-javascript-client/)

我还使用 npm 安装了 Node 的 MySQL 模块,尽管我怀疑即使它位于该模块下,它仍然无法正常运行,因为即使我将数据库设置为不存在的东西,它仍然会说连接成功。所以我猜想有两个问题:如何确保我确实正确下载了 MySQL 组件,以及我的机器人是否犯了任何错误?代码如下。

// Dependencies =========================
var
twit = require('twit'),
config = require('./config');

var mysql = require("mysql");

var con = mysql.createConnection(
{
host: "localhost",
user: "root",
password: "Jaljap2732!",
dateStrings: true,
datebase: "rawdata"
});



var Twitter = new twit(config);

con.connect(function(err) {
if(err) {
console.log("Sorry Fam, error connecting");
} else {
console.log("Connection Successful")
}
});



var searchTweets = function(){
var params = {
q: 'since:2017-04-01', // REQUIRED
result_type: 'recent',
count:'10',
lang: 'en'
}
// find the tweet
Twitter.get('search/tweets', params, function(err,data){

// find tweets
var tweet = data.statuses;

//console.log(tweet);
for(var result in tweet) {
console.log("text: " + tweet[result].text);
var created_at = tweet[result].created_at;
var date = created_at.split(" ");
var month = date[1];

var sqlDate = date[5] + "-" + monthToInt(month) + "-" + date[2];


var data = {
tweet: tweet[result].text,
posted: sqlDate,
User_idUser: tweet[result].user.screen_name
};

con.query('INSERT INTO tweet SET ?', data, function(err, rows) {
if(err) throw err;
else {
console.log("Data from DB");
console.log(rows);
}
});

console.log("Posted at: " + date[1] + " " + date[2] + " " + date[5]);
console.log("Converted Date: " + monthToInt(month));
console.log("User: " + tweet[result].user.screen_name);
}

});
}
// grab & 'favorite' as soon as program is running...
searchTweets();
// 'favorite' a tweet in every 15 minutes
setInterval(searchTweets, 900000);


function monthToInt(month) {

//We will return a string representation of the month
//using numbers in order to insert it into our SQL table.


var result = "";

switch(month) {
case "Jan":
console.log("Janaury: 01");
result = "01";
break;
case "Feb":
console.log("February: 02");
result = "02";
break;
case "Mar":
console.log("March: 03");
result = "03";
break;
case "Apr":
console.log("April: 04");
result = "04";
break;
case "May":
console.log("May: 05");
result = "05";
break;
case "Jun":
console.log("Jun: 06");
result = "06";
break;
case "Jul":
console.log("Jul: 07");
result = "07";
break;
case "Aug":
console.log("August: 08");
result = "08";
break;
case "Sept":
console.log("September: 09");
result = "09";
break;
case "Sep":
console.log("September: 09");
result = "09";
break;
case "Oct":
console.log("October: 10");
result = "10";
break;
case "Nov":
console.log("November: 11");
result = "11";
break;
case "Dec":
console.log("December: 12");
result = "12";
break;
}

return result;
}

最佳答案

这是一个修复程序,但我只是通过另一个查询强制它使用有问题的数据库。我非常感谢一个可靠的答案,而不是一个模糊的评论答案来描述竞争条件,因为我认为代码是按顺序执行的。 searchCode 内部的任何内容都不应该在其他内容之前执行。

关于javascript - Node.JS 没有选择数据库,尽管它是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43240885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com