首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在mySQL表中插入卡数组,控制台没有错误

在mySQL表中插入卡数组,控制台没有错误
EN

Stack Overflow用户
提问于 2019-03-02 06:33:28
回答 1查看 89关注 0票数 0

我希望我没有问一个已经被问过的问题。我试着四处寻找一些好的步骤来做我正在尝试的事情,这是我从这些搜索中得到的最好的结果。

这需要对我头脑中的东西进行一些解释。

所以,我正在为我的不一致服务器做一个纸牌游戏。我使用“纸牌”([https://www.npmjs.com/package/card-deck])来处理这些卡片。我已经将许多卡保存到另一个表中的同一数据库中(所以我没有使用卡构造函数)。这款纸牌游戏有多堆牌,牌从主牌发出后会被移入和移出;手牌,弃牌堆,主牌堆,能量堆,激活牌等。我的逻辑是让主牌组装入,然后允许玩家从牌组中取出卡片并放入他们的手中,能量堆,弃牌堆,等等。通过命令。

我创建了一个数据库,为每个玩家(deckAcards、deckBcards、handA、handB等)的每个堆创建了不同的列。我保存了一个测试卡片组,里面有少量的卡片。我可以毫无问题地检索该卡片组(保存在数据库中的另一个表中)。但是,当我尝试将该数组保存到表的正确列中时,我被卡住了。我甚至不确定这是如何设置这类项目的。

这是我的代码,我试图将从数据库的一个表中检索到的卡片数组插入到用该游戏的所有信息设置的表中。从数据库中检索得到的卡片数组在这里的代码最顶端保存为"arr_cardname“。

代码语言:javascript
运行
复制
var loadeddeck = arr_cardname;

        if (message.author.id == playerAid) {

          message.channel.fetchMessages().then(messages => {
          const botMessages = messages.filter(message => message.author.bot);
          var brawlID = botMessages.last().content.slice(-8)
          var brawlname = `brawlID${brawlID}`

            var maindeckA = new Deck(loadeddeck)

            var playerAdeck = JSON.stringify(arr_cardname)

            console.log(playerAdeck)

            sql = `INSERT INTO ${brawlname} (deckAname, deckAcards) VALUES ("${deckname}", "${playerAdeck}")`;
            con.query(sql, function(err, rows, fields) {
                if (err) throw err; 
                else {
                    message.channel.send(`${deckname} and play areas loaded for Player A!`)
            }
            })
        })

          //----------------------------------------------------------------------------------------
          } else if (message.author.id == playerBid) {
         //Make a copy of the above block for Player B

当我运行上面的代码时,我没有得到输出到控制台的错误,也没有任何输入到我指定的表中。

我的另一个顾虑是,将牌组放在这张表中将不允许我使用由“纸牌组”制成的牌组对象。主要的,我只是想能够存储,访问,修改卡片的布局,并在游戏进行时将它们从不同的堆中移动。(画一张牌将一副牌中的最上面的牌移到手中,丢弃一张牌将一张牌从手移动到丢弃堆,等等)我最初尝试使用JSON文件,但我读到如果经常访问和修改它很容易弄乱或损坏,所以我不想冒这个风险,所以我使用了数据库。

任何建议,纠正或建议,我应该如何去做这项工作将是美妙和感谢,因为我已经旋转我的轮子几天了!谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-03-02 07:09:52

您没有正确处理错误:

代码语言:javascript
运行
复制
...
sql = `INSERT INTO ${brawlname} (deckAname, deckAcards) VALUES ("${deckname}", "${playerAdeck}")`;
con.query(sql, function(err, rows, fields) {
    if (err) throw err; 
    else {
        con.query(sql)
        message.channel.send(`${deckname} and play areas loaded for Player A!`)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54953218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档