ノードに簡単なserver.jsを書き込んで、HTMLファイルからフォームデータをMySQLに投稿しようとしています。しかし、私は構文エラーを取得しています。私は以下のコードとエラーを投稿します。私はこの問題を解決するために苦労しています。nodejs w/Expressを使用してMySQLにフォームデータを投稿する
<head>
<title>Learning Node Server</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="header">
<h1>Learning Node and JS</h1>
<p>With Ninad</p>
</div>
<form action="/data" method="post">
<label for="name">Enter your name in the database</label>
<input type="text" name="name">
<input type="submit" value="submit" />
</form>
<div class="container"></div>
<script type="text/javascript" src="main.js"></script>
</body>
var express = require('express');
var app = express();
var mysql = require('mysql');
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
//app.use(express.json());
//app.use(express.urlencoded());
//app.use(app.router);
app.use(express.static('public'));
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '3748',
database : 'nodedb'
});
connection.connect();
app.get('/', function (req, res) {
res.sendFile(__dirname + '/node.html');
});
app.post('/data', function(req, res){
var username=req.body.name;
connection.query("INSERT INTO `names` (name) SET ?", username.toString(), function(err, result){
if(err) throw err;
console.log("1 record inserted");
});
res.send(username);
});
//connection.end();
app.listen(3000, function() {
console.log('Example app listening on port 3000');
});
私は名前としてyahoo2を入力した場合、これは、私はあなたのSQL構文でエラーが発生している
をGET-エラーです。 Query.Sequence._packetToError(/ home/ninad/node-workspace/node_modules/mysql/lib/protocol)で、1行目の 'SET' yahoo2 ''の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。 /sequences/Sequence.js:52:14)
あなたは良い答えを追加してください!なぜあなたがそれを変更したのかの説明を加えることで、それをより良くすることができます。 :)。 –
値の挿入構文は次のとおりです。 'INSERT INTOテーブル(列、列、...)VALUES(値、値、...)' – Nicholas