如果我们必须使用c api将记录插入到mysql数据库中,那么通用代码就是这个
if (mysql_query(conn, "insert into empinfo values ('saikat banerjee')"))
{
printf("4Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
exit(1);
}
但是,我们必须从代码本身输入记录。
但是,我想从直接用户输入中输入记录。
比如,将用户输入保存在say,string变量中,然后使用该字符串变量将记录存储在数据库中。即。我想做这样的事情
char empname[100]
然后,
if (mysql_query(conn, "insert into empinfo values (empname)"))
{
printf("4Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
exit(1);
}
但是,这是在表格中存储NULL
。
有没有办法做到这一点? 请帮忙!
答案 0 :(得分:0)
Mysql C(或其他)API不会进入此 - 但stdio.h确实如此。我建议查看scanf和fread的文档。使用libreadline的其他要点(如果在linux上)。当然,mysql(CLI命令)已经完成了所有这些以及更多。
然而,你问题的第二部分让我觉得你的需求更深,看到你至少想要做的事情:
sprintf(stmt, "insert into empinfo values ('%s')",empname)
if (mysql_query(conn, stmt)) ...
这是关于普通老C的。
答案 1 :(得分:0)
MySQL教程说你做了这样的事情:
char *stat = "INSERT INTO images(id, data) VALUES('1', '%s')";
len = snprintf(query, sizeof(stat)+sizeof(chunk) , stat, chunk);
要以“正确”的方式使用预备语句。请参阅此处获取教程:http://lgallardo.com/en/2011/06/23/sentencias-preparadas-de-mysql-en-c-ejemplo-completo/