亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

dmysql自己封裝的mysql庫

 更新時間:2007年07月21日 00:00:00   作者:  
怎么系統(tǒng)分類里面沒有CGI啊?

最近好久沒有發(fā)原創(chuàng)文章了,都在架構服務器,編寫CGI程序
開頭用了些天perl,后來發(fā)現對腳本語言尤其是特別牛X的正則表達式有些看不懂...
回頭用C語言寫高效率的吧,反正我自己寫過好些C的庫了...

下面貼一個mysql的庫,叫做dmysql
解壓縮以后,make ; make install 安裝
然后編譯程序的時候,包含dmysql.h頭文件,加上 -ldmysql標識,即可

頭里面定義了一個mysql數據庫的結構體,

typedef struct _dmysql_info
{
     char *host; /*host for database*/
     char *user; /*user name for database*/
     char *pswd; /*password to the account*/
     char *dbbs; /*name of database*/
} dmysql_info;



記錄集的數據類型
typedef struct _dmysql_record
{
     char *s_str;
} dmysql_record;


typedef struct _dmysql_row
{
     dmysql_record *s_record;
} dmysql_row;


typedef struct _d_mysql_res
{
     int row;
     int field;
     dmysql_row *s_row;
} dmysql_res;



還有程序運行時候的出錯代碼
#define DMYSQL_QUERY_OKAY 0
#define DMYSQL_SELECT_OKAY 0
#define DMYSQL_CONNECT_ERROR -1
#define DMYSQL_INIT_ERROR -2
#define DMYSQL_QUERY_ERROR -3
#define DMYSQL_RES_ERROR -4




程序一共就3個函數
extern int dmysql_query( const char * s_query, const dmysql_info mysql_info );

給出一句執(zhí)行的SQL命令,比如UPDATE、INSERT,指定一個數據庫,就可以了


extern int dmysql_select( dmysql_res **rel_res, const char *s_select, const dmysql_info mysql_info );


傳入一個數據庫記錄集的地址,給出一個SELECT記錄的SQL命令,再制定一個數據庫,就可以了


用來釋放內存中在棧里面申明了的記錄集空間

extern void dmysql_free( dmysql_res *res );



下面是演示的程序代碼:
#include <stdio.h>
#include <dmysql.h>

int main( void )
{
    dmysql_info db;
    db.host="127.0.0.1"; /*host for database*/
    db.user="root"; /*user name for database*/
    db.pswd=""; /*password to the account*/
    db.dbbs="mysql"; /*name of database*/

    char *s_query="GRANT ALL ON *.* to 'dorainm'@'127.0.0.1' IDENTIFIED BY '******';";
    char *s_sql="SELECT `user`,`host`,`password` FROM `user`;";

    int i, j;
    dmysql_res *res;

    dmysql_query( s_query, db );


    printf( "select out : %d\n", dmysql_select( &res, s_sql, db ) );
    for( i=0; i<res->row; i++ )
    {
        for( j=0; j<res->field; j++ )
        {
            printf("%s\t", ((res->s_row+i)->s_record+j)->s_str );
        }
        printf( "\n" );
    }
    dmysql_free( res );

    return 0;
};

 


make test后運行./dmysql

dorainm@desktop:~/workroom/c/mylib/dmysql$ make test gcc -Wall -O3 -o dmysql main.c -ldmysql `mysql_config --libs` `mysql_config --cflags` dorainm@desktop:~/workroom/c/mylib/dmysql$ ./dmysql

select out : 5
root localhost %^$#!@%*&!
root desktop.dorainm.org %^$#!@%*&! 
 desktop.dorainm.org %^$#!@%*&! 
 localhost %^$#!@%*&!
dorainm 127.0.0.1 %^$#!@%*&! dorainm@desktop:~/workroom/c/mylib/dmysql$ 

相關文章

  • MySQL易學易用之MYSQL不為人知的特性

    MySQL易學易用之MYSQL不為人知的特性

    MySQL易學易用,且附帶豐富的技術文檔,這二個因素使之被廣泛應用。然而,隨著MySQL發(fā)展之迅速,即使一個MySQL老手有時也會為該軟件出其不意的功能感嘆。
    2011-01-01
  • mysql5.7.23版本安裝教程及配置方法

    mysql5.7.23版本安裝教程及配置方法

    這篇文章主要介紹了mysql5.7.23版本安裝教程及配置方法,需要的朋友可以參考下
    2018-11-11
  • Mysql ERROR 1067: Invalid default value for字段問題

    Mysql ERROR 1067: Invalid default v

    這篇文章主要介紹了Mysql ERROR 1067: Invalid default value for字段問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • mysql 5.7 數據庫安裝步驟個人總結

    mysql 5.7 數據庫安裝步驟個人總結

    這篇文章主要介紹了mysql 數據庫安裝步驟個人總結,需要的朋友可以參考下
    2017-09-09
  • mysql 5.5.27 winx64安裝配置方法圖文教程

    mysql 5.5.27 winx64安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql5.5.27 winx64安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • MySQL中基本的用戶和權限管理方法小結

    MySQL中基本的用戶和權限管理方法小結

    這篇文章主要介紹了MySQL中基本的用戶和權限管理方法小結,是MySQL入門學習中的基礎知識,需要的朋友可以參考下
    2015-08-08
  • mysql存儲過程之錯誤處理實例詳解

    mysql存儲過程之錯誤處理實例詳解

    這篇文章主要介紹了mysql存儲過程之錯誤處理,結合實例形式詳細分析了mysql存儲過程錯誤處理相關原理、操作技巧與注意事項,需要的朋友可以參考下
    2019-12-12
  • mysq啟動失敗問題及場景分析

    mysq啟動失敗問題及場景分析

    這篇文章主要介紹了mysq啟動失敗問題及解決方法,通過問題分析定位特殊場景解析給大家?guī)硗昝澜鉀Q方案,需要的朋友可以參考下
    2021-07-07
  • mysql5.7 新增的json字段類型用法實例分析

    mysql5.7 新增的json字段類型用法實例分析

    這篇文章主要介紹了mysql5.7 新增的json字段類型用法,結合實例形式分析了mysql5.7 新增的json字段類型具體功能、使用方法及操作注意事項,需要的朋友可以參考下
    2020-02-02
  • MySQL函數CONCAT、CONCAT_WS、GROUP_CONCAT用法詳解

    MySQL函數CONCAT、CONCAT_WS、GROUP_CONCAT用法詳解

    這篇文章主要介紹了MySQL函數CONCAT、CONCAT_WS、GROUP_CONCAT用法詳解,CONCAT 函數用于將兩個字符串連接為一個字符串,本文通過實例代碼詳細講解,需要的朋友可以參考下
    2023-02-02

最新評論