最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

SQL在数据库中插入空记录

运维笔记admin12浏览0评论

SQL在数据库中插入空记录

SQL在数据库中插入空记录

我试图插入从我的网站上填写的表单中收集的数据,并将该数据存储在phpMyAdmin上的数据库中。

一切正常,我收到消息“已连接到数据库。”和“记录已成功插入!”,表示网站与数据库之间的通信正常。但是,当我检查数据库时,有空记录(正在插入记录,但没有值)。

不确定这是否有帮助,但是函数'db'的参数说“未使用”。

    var name = request.body.FirstName;
    var surname = request.body.LastName;
    var email  = request.body.Email;
    var message  = request.body.Message;
    console.log(name + " " + surname);
    console.log(email);     console.log(message); 
    var emailMessage = "New message from " + name + " " + surname + "(" + email + ") " + message;

    function mail(emailMessage){
 var nodemailer = require("nodemailer");
 var transporter = nodemailer.createTransport({
 service: 'gmail',
 auth: {
 user: 'XXX', // add your username
 pass: 'XXX' // add your password
 }
 });
 var mailOptions = {
 from: 'XXX', // add sender email (your email)
 to: 'XXX', // add recipient email (maybe a friend)
 subject: 'Message from Node.js app',
 html: '<p>' + emailMessage + '</p>'
 };
 transporter.sendMail(mailOptions, function(error, info){
 if (error) {
 console.log(error);
 } else {
 console.log('Email sent: ' + info.response);
 }
 });



 }
  mail(emailMessage);



function db(name, surname, email, message){
    var mysql = require('mysql');
    var connection = mysql.createConnection({
        host: 'db4free',
        user: 'XXX',
        password: 'XXX',
        database: 'feedback_db'
    });

connection.connect(function(err) {
  if (err) throw err;
  console.log("Connected to Database.");
  var sql = "INSERT INTO messages (Name, Surname, Email, Message) VALUES (name, surname, email, message)";

  connection.query(sql, function (err, result) {
    if (err) throw err;

    console.log("Records Inserted Successfully!");
  });
}); }


db(name, surname, email, message);

  response.sendFile(__dirname + '/success.html'); });
回答如下:

变量不在字符串内求值。在查询中输入VALUES (name, surname, email, message)时,它不使用变量。您应该在此处放置占位符,并提供值作为参数。

var sql = "INSERT INTO messages (Name, Surname, Email, Message) VALUES (?, ?, ?, ?)";

connection.query(sql, [name, surname, email, message], function(err, result) {
  if (err) throw err;

  console.log("Records Inserted Successfully!");
});

我无法解释为什么您得到空记录-由于查询中的值无效,您应该得到一个错误。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论