---
name: "mysql_stmt_fetch"
section: "3"
platform: "linux"
package: "mariadb"
version: "13.0.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/mysql_stmt_fetch"
---

# mysql\_stmt\_fetch(3)

### Name

mysql\_stmt\_fetch - Fetches result set row from a prepared statement

### Synopsis

-

  ```
  #include <mysql.h>
  int mysql_stmt_fetch(MYSQL_STMT * stmt);
  ```

### Description

Fetch the result from a prepared statement into the buffer bound by \[mysql\_stmt\_bind\_result()}(mysql\_stmt\_bind\_result).

### Parameter

- •

  `stmt` - a statement handle, which was previously allocated by **[mysql\_stmt\_init(3)](/mysql_stmt_init/3.md)**.

### Return value

Returns `0` for success, `MYSQL_NO_DATA` if the end of the result set has been reached, or `MYSQL_DATA_TRUNCATION` if one or more values are truncated.

### Notes

- •

  Note that all columns must be bound by the application before calling mysql\_stmt\_fetch().

- •

  Data are transferred unbuffered without calling **[mysql\_stmt\_store\_result(3)](/mysql_stmt_store_result/3.md)** which can decrease performance (but reduces memory cost).

- •

  Truncation reporting must be enabled by function **[mysql\_optionsv(3)](/mysql_optionsv/3.md)** with option `MYSQL_REPORT_DATA_TRUNCATION`

### See Also

- •

  **[mysql\_stmt\_prepare(3)](/mysql_stmt_prepare/3.md)**

- •

  **[mysql\_stmt\_bind\_result(3)](/mysql_stmt_bind_result/3.md)**

- •

  **[mysql\_stmt\_execute(3)](/mysql_stmt_execute/3.md)**
