mysql_stmt_fetch

頭檔案

#include<mysql.h>

函式原型

int mysql_stmt_fetch(MYSQL_STMT *stmt)

說明

mysql_stmt_fetch()返回結果集中的下一行。僅能當結果集存在時調用它,也就是說,調用了能創建結果集的mysql_stmt_execute()之後,或當mysql_stmt_execute()對整個結果集即行緩衝處理後調用了mysql_stmt_store_result()。
使用mysql_stmt_bind_result()綁定的緩衝,mysql_stmt_fetch()返回行數據。對於當前列集合中的所有列,它將返回緩衝內的數據,並將長度返回到長度指針。調用mysql_stmt_fetch()之前,應用程式必須綁定所有列。
如果獲取的數據值是NULL值,對應MYSQL_BIND結構的*is_null值將包含TRUE (1)。否則,將根據應用程式指定的緩衝類型,在*buffer和*length內返回數據及其長度。每個數值類型和臨時類型都有固定的長度,請參見下面的表格。字元串類型的長度取決於由data_length指明的實際數據值的長度。

類型 長度
MYSQL_TYPE_TINY 1
MYSQL_TYPE_SHORT 2
MYSQL_TYPE_LONG 4
MYSQL_TYPE_LONGLONG 8
MYSQL_TYPE_FLOAT 4
MYSQL_TYPE_DOUBLE 8
MYSQL_TYPE_TIME sizeof(MYSQL_TIME)
MYSQL_TYPE_DATE sizeof(MYSQL_TIME)
MYSQL_TYPE_DATETIME sizeof(MYSQL_TIME)
MYSQL_TYPE_STRING data length
MYSQL_TYPE_BLOB data_length
返回值
返回值 描述
0 成功,數據被提取到應用程式數據緩衝區
1 出現錯誤。調用mysql_stmt_error(),可獲取錯誤訊息。
MYSQL_NO_DATA 不存在行/數據。
MYSQL_DATA_TRUNCATED 出現數據截短。
不返回MYSQL_DATA_TRUNCATED,除非用mysql_options()啟用了截短通報功能。返回該值時,為了確定截短的參數是哪個,可檢查MYSQL_BIND參數結構的錯誤成員。錯誤

CR_COMMANDS_OUT_OF_SYNC
以不恰當的順序執行了命令。
· CR_OUT_OF_MEMORY
記憶體溢出。
· CR_SERVER_GONE_ERROR
MySQL伺服器不可用。
· CR_SERVER_LOST
在查詢過程中,與伺服器的連線丟失。
· CR_UNKNOWN_ERROR
出現未知錯誤。
· CR_UNSUPPORTED_PARAM_TYPE
緩衝類型為MYSQL_TYPE_DATE、MYSQL_TYPE_TIME、MYSQL_TYPE_DATETIME、或MYSQL_TYPE_TIMESTAMP,但數據類型不是DATE、TIME、DATETIME、或TIMESTAMP。
· 從mysql_stmt_bind_result()返回所有其他不支持的轉換錯誤。

相關詞條

熱門詞條

聯絡我們