[英]Using MySQL stored procedures with Javascript objects
我希望收到有關如何傳遞mySQL存儲過程Javascript表單數據以用作查詢中的參數的指南。
我一直在尋找有關如何使用以JavaScript表單數據為參數的mySQL存儲過程的答案。
到目前為止,這是我所擁有的:
var first_name = req.body.firstName,
last_name= req.body.lastName,
email= req.body.email,
password= req.body.password,
gpa= req.body.gpa,
major = req.body.major,
classification= req.body.classification;
var query = connection.query("CALL new_student()", function (err, result) {
if (err) {
res.send(err);
}
res.json(result);
})
這是存儲過程:
CREATE DEFINER=`root`@`localhost` PROCEDURE `new_student`(IN first_name VARCHAR(45),
IN last_name VARCHAR(45), IN email VARCHAR(45), IN password VARCHAR(45), IN gpa DECIMAL(3,2),
IN major INT(10), IN classification VARCHAR(45))
BEGIN
INSERT INTO users (first_name, last_name, email, password)
VALUES (first_name, last_name, email, password);
INSERT INTO student (user_id, gpa, major, classification)
VALUES (LAST_INSERT_ID(),gpa, major, classification);
END
我的意圖是獲取變量或封裝變量的Javascript對象,然后將其通過“ new_student()”傳遞。
我知道這看似微不足道。 我正在學習如何在Javascript中使用存儲過程。
您需要為函數提供參數。 如果您使用的是node-mysql-native ,則可以使用諸如預處理語句之類的語法來提供參數。
var query = connection.query("CALL new_student(?, ?, ?, ?, ?, ?, ?)", [first_name, last_name, email, password, gpa, major, classification],
function (err, result) {
if (err) {
res.send(err);
}
res.json(result);
})
有關此信息,請參閱在Node.js中防止SQL注入
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.