exports.creategroup= function(callback,name,email,firstname)
{
// var connection=pool.getConnection();
var connection=connect();
console.log(email);
console.log(firstname);
var query="CREATE TABLE "+name+"(membername varchar(50) NOT NULL,email varchar(50) NOT NULL)";
var query1="INSERT INTO'"+name+"'(membername,email) VALUES('"+email+"','"+firstname+"')";
console.log(query);
connection.query(query,function(err,result){
if(err)
{
console.log("ERROR:"+err.message);
}
else
{
if(result.length!==0)
{
console.log("DATA : "+JSON.stringify(result));
callback(err, result);
}
else
{
callback("Invalid Username", result);
}
}
//pool.returnConnection(connection);
});
//插入查询会出错。我无法弄清楚我所犯的语法错误。请有人帮忙。该表正在创建中。我在插入中遇到的错误是
错误:ER_PARSE_ERROR:您的SQL语法中有错误;检查 手册,对应右边的MySQL服务器版本 语法使用附近'悲伤'(会员名称,电子邮件)价值观(' hunur',' Sachin Mallikarjun')'在第1行
这里悲伤被作为表名
的参数传递答案 0 :(得分:1)
您已将表名放在'
个刻度中,但这无效。以下将有效:
var query1="INSERT INTO "+name+" (membername,email) VALUES('"+email+"','"+firstname+"')";
请注意,您绝对不应该运行这样的查询,因为它很容易受到mysql注入攻击。请改用转义查询node-mysql。
var query = "INSERT INTO ?? (??,??) VALUES (?,?)";
var values = [name,'membername','email',firstname,email];
mysql.query(mysql.format(query, values), function(err,result,tableInfo){/*...*/})
像这样,node-mysql为您准备查询。每一个?表示每个表格或列名称?代表要插入的值。您可以通过
验证这一点console.log(mysql.format(query,values));