I'm trying to send the data from flutter through node-red to the database by using http post. The database was updated but they showed undefined in every column.
This is my code in flutter:
Future registerCus(String first_name,String last_name, String phone_no,String email, String username,String password) async {
String url = "http://my IP address:1880/register?first_name=c1&last_name=c2&phone_no=c3&email=c4&username=c5&password=c6";
url = url.replaceFirst("c1", first_name);
url = url.replaceFirst("c2", last_name);
url = url.replaceFirst("c3", phone_no);
url = url.replaceFirst("c4", email);
url = url.replaceFirst("c5", username);
url = url.replaceFirst("c6", password);
var result = await http.post(url);
var data = json.encode(result.body);
http.post(url, body: data, headers: {"Content-Type": "application/json"})
.then((value) => print(value));
print(data);
}
and the code below is a function in node-red:
var user_id = msg.payload.user_id;
var username = msg.payload.username;
var password = msg.payload.password;
var first_name = msg.payload.first_name;
var last_name = msg.payload.last_name;
var phone_no = msg.payload.phone_no;
var email = msg.payload.email;
var sql = "insert into account (user_id,first_name,last_name,phone_no,email,username,password) ";
sql += "value(null,'c1','c2','c3','c4','c5','c6')";
sql = sql.replace('c1',first_name);
sql = sql.replace('c2',last_name);
sql = sql.replace('c3',phone_no);
sql = sql.replace('c4',email);
sql = sql.replace('c5',username);
sql = sql.replace('c6',password);
msg.topic = sql;
return msg;
these are the result that went into the database: