mysql_init はデータベース リンクを初期化します – リンクを取得します mysql_real_connect はデータベース サーバーに接続し、mysql_query クエリを実行します – クエリ ステートメントは文字列であり、各行を個別に取得します mysql_store_result – 結果はリンクに保存され、1 回限りのクエリです。結果セットからヘッダー情報を取得します – mysql_fetch_fields – ヘッダー情報は MYSQL_FIELD 型ポインターが指すメモリ空間に保存されます。 ヘッダーの解析 – mysql_field_count は列数を取得し、for ループはそれを列ごとに解析します。結果セットからデータを行ごとに解析し、行ごとに各列を解析してメモリ領域を解放します
リンクを閉じる
特定のコード
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <dlfcn.h> #include <mysql/mysql.h> int main() { int ret = 0; int i = 0; MYSQL mysql; MYSQL *con = NULL; unsigned int fieldnum; printf("hello....\n"); con = mysql_init(&mysql); if (con == NULL) { ret = mysql_errno(&mysql); printf("func mysql_init() err :%d\n", ret); return ret; } con = mysql_real_connect(&mysql, "localhost", "root", "123456", "mydb2", 0, NULL, 0 ); if (con == NULL) { ret = mysql_errno(&mysql); printf("func mysql_real_connect() err :%d\n", ret); return ret; } else { printf("func mysql_real_connect() ok\n"); } //执行sql查询 mysql_query(&mysql, "set names utf8");//解决中文乱码 char *sql = "select *from employee"; ret = mysql_query(&mysql, sql); if (ret != 0) { ret = mysql_errno(&mysql); printf("func mysql_query() err :%d\n", ret); return ret; } /* //获取结果集 一次性获取 MYSQL_RES * sqlres =mysql_store_result( &mysql); if (sqlres == NULL) { ret = mysql_errno(&mysql); printf("func mysql_store_result() err :%d\n", ret); return ret; } */ //对每一行分别进行检索 MYSQL_RES * sqlres =mysql_store_result(&mysql); if (sqlres == NULL) { ret = mysql_errno(&mysql); printf("func mysql_store_result() err :%d\n", ret); return ret; } //从结果集,获取表头信息 MYSQL_FIELD *fields = mysql_fetch_fields(sqlres); fieldnum = mysql_field_count(&mysql); for (i=0; i<fieldnum; i++) { printf("%s\t", fields[i].name); } printf("\n"); //从结果集, 按照行获取信息信息 MYSQL_ROW row = NULL; //(char **) //从结果集中一行一行的获取数据 while ( row = mysql_fetch_row(sqlres)) { fieldnum = mysql_field_count(&mysql); //优化,我的行有多少列。。。。查找这样的api函数 for (i=0; i<fieldnum; i++) //经过测试 发现 不是以0结尾的指针数组。。 { printf("%s\t", row[i]); } printf("\n"); } mysql_free_result(sqlres); mysql_close(&mysql); return ret; }
上記は、MySQL を始めるための簡単なデータ クエリの内容です。関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) にご注意ください。