首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql c api中从用户获取输入

问在mysql c api中从用户获取输入
EN

Stack Overflow用户
提问于 2012-01-11 00:41:54
回答 2查看 806关注 0票数 0

如果我们必须使用c api将记录插入到mysql数据库中,则一般代码如下

代码语言:javascript
复制
    if (mysql_query(conn, "insert into empinfo values ('saikat banerjee')")) 
    {
      printf("4Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
      exit(1);
    }

但是,在这里我们必须输入代码本身的记录。

但是,我想从直接用户输入中输入记录。例如,将用户输入保存在字符串变量中,然后使用该字符串变量将记录存储在数据库中。即。我想做像这样的char empname[100],然后,

代码语言:javascript
复制
   if (mysql_query(conn, "insert into empinfo values (empname)")) 


  {
  printf("4Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
  exit(1);


   }

但是,这是在表中存储NULL。

有没有办法做到这一点?请帮帮我!

EN

回答 2

Stack Overflow用户

发布于 2012-01-11 00:51:22

Mysql C(或其他) API不会进入这个范围,但stdio.h会进入。我建议您查看scanf和fread的文档。使用libreadline的其他要点(如果在linux上)。当然,mysql ( CLI命令)已经完成了所有这些工作,而且还做得更多。

然而,你问题的第二部分让我认为你的需求更深,至少你会想要做一些事情,比如:

代码语言:javascript
复制
  sprintf(stmt, "insert into empinfo values ('%s')",empname)
  if (mysql_query(conn, stmt)) ...

不过,这是关于普通的C语言。

票数 0
EN

Stack Overflow用户

发布于 2012-01-11 00:52:08

MySQL教程说你应该这样做:

代码语言:javascript
复制
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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8806941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档