zoukankan      html  css  js  c++  java
  • [c/c++]linux下使用c/c++操作mysql

    首先需要安装相应的库文件,直接apt-get就可以。

    sudo apt-get install libmysqlclient-dev

    编译的时候,需要额外链接到这个库。如果是apt-get安装的话,那么这个库的位置应该是:

    /usr/include/mysql和/usr/lib/mysql。

    写一个简单的demo:

     1 #include <mysql/mysql.h>
     2 #include <bits/stdc++.h>
     3 using namespace std;
     4 
     5 int main(int argc, char *argv[]) {
     6     MYSQL conn;
     7     int ret;
     8     mysql_init(&conn);
     9     if(mysql_real_connect(&conn, "localhost", "233", "233", "kirai_oj", 0, NULL, 0)) {
    10         fprintf(stdout, "Connect Success.
    ");
    11         ret = mysql_query(&conn, "insert into kirai_oj (account, source) values ('Ann', print "helloworld")");
    12         if(!ret) {
    13             fprintf(stdout, "Inserted %lu rows\n",
    ", (unsigned long)mysql_affected_rows(&conn));
    14         }
    15         else {
    16             fprintf(stderr, "Insert error %d: %s
    ", mysql_errno(&conn), mysql_error(&conn));
    17         }
    18         mysql_close(&conn);
    19     }
    20     else {
    21         fprintf(stderr, "Connection failed
    ");
    22         if (mysql_error(&conn)) {
    23             fprintf(stderr, "Connection error %d: %s
    ", mysql_errno(&conn), mysql_error(&conn));
    24         }
    25     }
    26     return 0;
    27 }

    编译并运行:

    g++ -I /usr/include/mysql main.cpp -L /usr/lib/mysql -l mysqlclient -o main.out

  • 相关阅读:
    为php5.6.30安装redis扩展
    Laravel利用pusher推送消息
    php闭包使用例子
    利用反射给类中方法加钩子
    mysql删除重复记录
    DB门面,查询构建器,Eloquent ORM三者的CURD
    Laravel5.1之表单验证
    服务提供者及门面
    批量搜索并替换内容
    Laravel之Elixir
  • 原文地址:https://www.cnblogs.com/kirai/p/6068835.html
Copyright © 2011-2022 走看看