mysql_stmt_fetch

mysql_stmt_fetch是函式名,mysql_stmt_fetch()返回結果集中的下一行。僅能當結果集存在時調用它,也就是說,調用了能創建結果集的mysql_stmt_execute()之後,或當mysql_stmt_execute()對整個結果集即行緩衝處理後調用了mysql_stmt_store_result()。

基本介紹

  • 外文名:mysql_stmt_fetch
  • 頭檔案:#include<mysql.h>
  • 函式原型:int mysql_stmt_fetch
  • 說明:僅能當結果集存在時調用它
說明,返回值,錯誤,

說明

使用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。

相關詞條

熱門詞條

聯絡我們