c語言連接mysql——select的代碼實現

来源:http://www.cnblogs.com/Dreamer-lwp/archive/2016/03/13/5272333.html
-Advertisement-
Play Games

//mysql_select//gcc mysql_select.c -o test -I /usr/include/mysql -L /usr/lib -lmysqlclient #include <stdio.h>#include <string.h>#include <mysql/mysql.


//mysql_select
//gcc mysql_select.c -o test -I /usr/include/mysql -L /usr/lib -lmysqlclient

#include <stdio.h>
#include <string.h>
#include <mysql/mysql.h>

#define HOST "localhost"
#define USERNAME "SERVER"
#define PASSWORD "SERVER_PASSWORD"
#define DATABASE "remote_control"

int main()
{
//char *sql = "select * from devices";
char *sql = "select * from users";
int res;
int i, j;
int row, column;/*查詢返回的行數和列數*/
MYSQL my_connection;
MYSQL_RES *res_ptr;/*指向查詢結果的指針*/
MYSQL_FIELD *field;/*欄位結構指針*/
MYSQL_ROW result_row;/*按行返回的查詢信息*/

mysql_init(&my_connection);/*初始化mysql連接my_connection*/

if (!mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD, DATABASE, 3306, NULL, CLIENT_FOUND_ROWS))
{/*連接失敗*/
printf("資料庫連接失敗: %s\n", mysql_error(&my_connection));
return 0;
}

mysql_query(&my_connection, "set names utf8");/*設置編碼為utf8*/

res = mysql_real_query(&my_connection, sql, (unsigned int)strlen(sql));
if (res)
{/*執行失敗*/
printf("sql語句執行失敗: %s\n", mysql_error(&my_connection));
mysql_close(&my_connection);
return 0;
}

res_ptr = mysql_store_result(&my_connection);/*將查詢的結果給res_ptr*/
if (!res_ptr)
{
printf("查詢結果為空\n");
mysql_close(&my_connection);
return 0;
}

column = mysql_num_fields(res_ptr);/*取得結果的列數和*/
row = mysql_num_rows(res_ptr);/*取得結果的行數和*/
printf("查詢到 %d 行\n", row);

for (i = 0; field = mysql_fetch_field(res_ptr); i++)/*輸出結果的欄位名*/
printf("%s ", field->name);
printf("\n");

for (i = 0; i < row; i++)/*按行輸出結果*/
{
result_row = mysql_fetch_row(res_ptr);
for (j = 0; j < column; j++)
printf("%s ", result_row[j]);
printf("\n");
}

mysql_free_result(res_ptr);

mysql_close(&my_connection);

return 0;
}


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • sql server2000中使用convert來取得datetime數據類型樣式(全) 日期數據格式的處理,兩個示例: CONVERT(varchar(16), 時間一, 20) 結果:2007-02-01 08:02/*時間一般為getdate()函數或數據表裡的欄位*/ CONVERT(var
  • 獲取 資料庫 和 表信息: 確定MySQL支持哪些表類型:mysql> show variables like '%have%';直接得到表類型清單:mysql> show table types;
  • 出處:http://www.cnblogs.com/lzrabbit/archive/2012/05/21/2499389.html 小小程式猿SQL Server認知的成長 1.沒畢業或工作沒多久,只知道有資料庫、SQL這麼個東東,渾然分不清SQL和Sql Server Oracle、MySql的
  • 在csdn上也看到一個帖子叫Oracle常用函數110.大概的看了一下,裡面數據計算的居多,協方差之類的.自己覺得用到的不多,今天看到的這個,不是很全,稍微增加了一下,等以後用到的時候可以查看.
  • 在保密你的伺服器和數據,防備當前複雜的攻擊,SQL Server有你需要的一切。但在你能有效使用這些安全功能前,你需要理解你面對的威脅和一些基本的安全概念。這篇文章提供了基礎,因此你可以對SQL Server里的安全功能充分利用,不用在面對特定威脅,不能保護你數據的功能上浪費時間。 身份驗證是驗證主
  • MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定發行版安裝包(如 .rpm)以及二進位通用版安裝包(.tar.gz)。一般情況下,很多項目都傾向於採用二進位通用安裝包形式來進行安裝配置,自定義非常方便。但在安裝過程中發現,其實官方提供的安裝說明文件太過簡單,而且裡面的參數還有問
  • Buffer cache hit ratio官方是這麼解釋的:“指示在緩衝區高速緩存中找到而不需要從磁碟中讀取的頁的百分比。”   Buffer cache hit ratio被很多人當做判斷記憶體的性能指標之一(我沒說僅僅只看這個計數器的值,實際上我現在都不看這個值了), 也有不少給給出了具體的參數
  • 我們究竟應該如何對MySQL資料庫進行優化?下麵我就從MySQL對硬體的選擇、MySQL的安裝、my.cnf的優化、MySQL如何進行架構設計及數據切分等方面來說明這個問題。 伺服器物理硬體的優化 在挑選硬體伺服器時,我們應該從下麵幾個方面著重對MySQL伺服器的硬體配置進行優化,也就是說將項目...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...