小程序云数据库读取或者写入失败的一种原因

最近在小程序开发的时候,建立好了一个数据库集合(表) ,但是使用代码写入的时候,却写入不了。很是困惑。

 调试几次后想起来,之前也遇到过这种情况,因为小程序在创建集合的时候,默认权限是仅创建者可读写。

如果这个不符合所需要的规则,则可做相应改动后就可以读写了。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序是运行在微信客户端上的小程序,它的运行环境与普通的 Web 应用有所不同,不能直接访问本地或远程的 MySQL 数据库一种解决方案是通过开发一个中间层 API 接口,让微信小程序通过 HTTP 请求来访问这个接口,再由接口来访问 MySQL 数据库并返回数据给小程序。 以下是一个使用 Node.js 和 Express 框架开发的简单的 API 接口示例,它可以连接到 MySQL 数据库,查询数据并将结果写入 JSON 文件: 1. 安装依赖库: ```bash npm install express mysql body-parser ``` 2. 创建一个 `app.js` 文件,输入以下代码: ```javascript const express = require('express') const mysql = require('mysql') const bodyParser = require('body-parser') const fs = require('fs') const app = express() // 解析 HTTP 请求体中的 JSON 数据 app.use(bodyParser.json()) // 创建 MySQL 数据库连接池 const pool = mysql.createPool({ host: '127.0.0.1', user: 'root', password: 'yourpassword', database: 'yourdatabase', connectionLimit: 10 }) // 查询数据库并将结果写入 JSON 文件 app.get('/api/data', (req, res) => { const sql = 'SELECT * FROM yourtable' pool.getConnection((err, conn) => { if (err) { res.status(500).json({ message: 'Failed to connect to database' }) return } conn.query(sql, (err, results) => { conn.release() if (err) { res.status(500).json({ message: 'Failed to query database' }) return } const data = JSON.stringify(results) fs.writeFile('data.json', data, (err) => { if (err) { res.status(500).json({ message: 'Failed to write file' }) return } res.json({ message: 'OK' }) }) }) }) }) // 启动 HTTP 服务器 app.listen(3000, () => { console.log('API server is running on http://localhost:3000') }) ``` 3. 启动 API 服务器: ```bash node app.js ``` 4. 在微信小程序中发送 HTTP 请求: ```javascript wx.request({ url: 'http://localhost:3000/api/data', success: (res) => { console.log(res.data) }, fail: (err) => { console.error(err) } }) ``` 这个示例中,我们在 Express 中创建了一个 API 接口,它监听 `/api/data` 路径的 GET 请求。当收到请求时,它会连接到 MySQL 数据库,查询数据并将结果写入 `data.json` 文件中,最后返回一个 JSON 响应。 在微信小程序中,我们使用 `wx.request` 发送一个 HTTP GET 请求到这个接口,当请求成功时,我们可以在控制台中看到从服务器返回的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值