【发布时间】:2021-01-17 20:49:27
【问题描述】:
我在 pipedream 中有一个简单的 nodejs 代码,它将正文电子邮件发送到 mySQL 数据库。 我已经检查了与数据库的连接及其工作。 这是我的代码
const mysql = require('mysql2/promise');
const { host, port, username, password, database } = auths.mysql
const connection = await mysql.createConnection({
host,
port,//3306
user:"u648845344_demo",
password,
database,
});
const [rows, fields] = await connection.execute(
"INSERT INTO Testing (Email) VALUES (${JSON.stringify(steps.trigger.event.body.email)})"
);
console.log(rows);
//console.log(${JSON.stringify(steps.trigger.event.body.email)})
我遇到的错误
错误您的 SQL 语法有错误;检查手册 对应于您的 MariaDB 服务器版本,以便使用正确的语法 在第 1 行的 '{JSON.stringify(steps.trigger.event.body.email)})' 附近 PromiseConnection.execute (/tmp/ee/node_modules/mysql2/promise.js:110:22) 在 进程中的 Object.module.exports (/steps/mysql.js:14:41)._tickCallback (内部/进程/next_tick.js:68:7)
我尝试在控制台日志上接收电子邮件,但我收到的错误是
TypeError [ERR_INVALID_ARG_TYPE]第一个参数必须是类型之一 字符串、缓冲区、ArrayBuffer、数组或类似数组的对象。已收到 类型未定义
【问题讨论】:
-
如果你想使用template literals,你必须使用` 而不是
"符号作为你的字符串 -
我被困了 2 天......谢谢它的工作......
-
不要使用模板文字来注入数据。使用占位符值。定义查询字符串时远离模板字符串以避免这种诱惑..
标签: mysql sql node.js mariadb pipedream