mysql_store_result

#in clude>mysql.h

頭檔案

#include<mysql.h>

函式原型

MYSQL_RES *mysql_store_result(MYSQL *mysql)

說明

對於成功檢索了數據的每個查詢(SELECT、SHOW、DESCRIBE、EXPLAIN、CHECK TABLE等),必須調用mysql_store_result()或mysql_use_result() 。對於其他查詢,不需要調用mysql_store_result()或mysql_use_result(),但是如果在任何情況下均調用了mysql_store_result(),它也不會導致任何傷害或性能降低。通過檢查mysql_store_result()是否返回0,可檢測查詢是否沒有結果集(以後會更多)。
如果希望了解查詢是否應返回結果集,可使用mysql_field_count()進行檢查。“mysql_field_count()”。mysql_store_result()將查詢的全部結果讀取到客戶端,分配1個MYSQL_RES結構,並將結果置於該結構中。
如果查詢未返回結果集,mysql_store_result()將返回Null指針(例如,如果查詢是INSERT語句)。如果讀取結果集失敗,mysql_store_result()還會返回Null指針。通過檢查mysql_error()是否返回非空字元串,mysql_errno()是否返回非0值,或mysql_field_count()是否返回0,可以檢查是否出現了錯誤。如果未返回行,將返回空的結果集。(空結果集設定不同於作為返回值的空指針)。一旦調用了mysql_store_result()並獲得了不是Null指針的結果,可調用mysql_num_rows()來找出結果集中的行數。
可以調用mysql_fetch_row()來獲取結果集中的行,或調用mysql_row_seek()和mysql_row_tell()來獲取或設定結果集中的當前行位置。一旦完成了對結果集的操作,必須調用mysql_free_result()。

返回值

具有多個結果的MYSQL_RES結果集合。如果出現錯誤,返回NULL。

錯誤

如果成功,mysql_store_result()將復位mysql_error()和mysql_errno()。
· CR_COMMANDS_OUT_OF_SYNC
以不恰當的順序執行了命令。
· CR_OUT_OF_MEMORY
記憶體溢出。
· CR_SERVER_GONE_ERROR
MySQL伺服器不可用。
· CR_SERVER_LOST
在查詢過程中,與伺服器的連線丟失。
· CR_UNKNOWN_ERROR
出現未知錯誤。

相關詞條

熱門詞條

聯絡我們