C程序将注册信息保存到数据库

本文详细讲解如何使用C语言编写程序,将用户的注册信息如用户名、密码等安全地存储到数据库中,包括连接数据库、执行SQL语句等关键步骤。



#include <mysql/mysql.h>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

using namespace std;

string name;
string password1;

void Output()
{
  char temp;
  cout<<"Do you have a account?Y/N:";
  cin>>temp;
  if(temp=='N')
    {
      cout<<"Now you need to register a account!"<<endl;
      cout<<"Please enter your name:";
      cin>>name;
      cout<<endl;
      cout<<"Please enter your password:";
      cin>>password1;
      cout<<endl;
    }
}

int GetCurTime(char *strTime,int type)
{
  time_t t;
  struct tm *tm = NULL;
  t = time(NULL);
  if(t == -1)
    {
      return -1;
    }
  tm = localtime(&t);
  if(tm == NULL)
    {
      return -1;
    }
  if(type == 0)
    sprintf(strTime,"系统运行时间为: %d-%d-%d %d:%d:%d\n",tm->tm_year + 1900,tm->tm_mon + 1,tm->tm_mday,tm->tm_hour,tm->tm_min,tm->tm_sec);
  else if(type == 1)
    sprintf(strTime,"%d-%d-%d %d:%d:%d",tm->tm_year + 1900,tm->tm_mon + 1,tm->tm_mday,tm->tm_hour,tm->tm_min,tm->tm_sec);
  else if(type == 2)
    sprintf(strTime,"%d-%d-%d",tm->tm_year + 1900,tm->tm_mon + 1,tm->tm_mday);

  return 1;
}

int main()
{
  MYSQL *conn;
  MYSQL_RES *res;
  MYSQL_ROW row;
  char server[] = "localhost";
  char user[] = "root";
  char password[] = "123";
  char database[] = "chat";
  char time1[12];   //只要跟数据库有关的,定义都要以这种形式,不能char *time1不然会报错“段错误”

  int num_row;       //记录数
  GetCurTime(time1,2);  
  Output();
  conn = mysql_init(NULL);
  cout<<"连接数据库......"<<endl;
  if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0))
    {
      fprintf(stderr, "%s\n", mysql_error(conn));
      exit(1);
    }
  else
    cout<<"连接成功!"<<endl;
  if(!(mysql_query(conn,"select * from user_infor")))
    {
      cout<<"查询成功!"<<endl;
      res=mysql_store_result(conn);
      num_row=(int)mysql_num_rows(res);
    }
  else
    cout<<"failed!"<<endl;
  char query[200];
  sprintf(query,"insert into user_infor value(%d,'%s','%s','%s')",num_row,name.c_str(),password1.c_str(),time1);
  if (mysql_query(conn, query))
    {
      fprintf(stderr, "%s\n", mysql_error(conn));
      exit(1);
    }
  else
    cout<<"插入成功!"<<endl;
  mysql_close(conn);

  printf("finish! \n");
  return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值