函数名:mysqli_stmt::attr_get()
适用版本:PHP 5 >= 5.3.0, PHP 7, PHP 8
用法: mysqli_stmt::attr_get() 函数用于获取指定预处理语句属性的值。该函数需要在 mysqli_stmt 对象上调用。
语法: mixed mysqli_stmt::attr_get ( int $attr )
参数:
- attr:预处理语句属性的常量,表示要获取的属性。常见的属性包括:
- MYSQLI_STMT_ATTR_CURSOR_TYPE:预处理语句的游标类型。
- MYSQLI_STMT_ATTR_PREFETCH_ROWS:预处理语句每次从服务器获取的行数。
- MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH:指定当绑定的变量长度发生变化时,是否自动更新预处理语句中相关绑定的最大长度。
返回值:
- 成功时返回属性的当前值,失败时返回 FALSE。
示例:
prepare("SELECT name, age FROM users WHERE id = ?"); // 获取预处理语句的游标类型 $cursorType = $stmt->attr_get(MYSQLI_STMT_ATTR_CURSOR_TYPE); echo "游标类型: " . $cursorType . "\n"; // 获取预处理语句的每次获取行数 $prefetchRows = $stmt->attr_get(MYSQLI_STMT_ATTR_PREFETCH_ROWS); echo "每次获取行数: " . $prefetchRows . "\n"; // 获取预处理语句是否自动更新绑定变量的最大长度 $updateMaxLength = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH); echo "是否自动更新最大长度: " . ($updateMaxLength ? "是" : "否") . "\n"; // 关闭预处理语句和数据库连接 $stmt->close(); $mysqli->close(); ?>以上示例中,我们首先创建了一个数据库连接,然后准备了一个预处理语句。接着,我们使用 mysqli_stmt::attr_get() 函数分别获取了预处理语句的游标类型、每次获取行数以及是否自动更新绑定变量的最大长度。最后,关闭了预处理语句和数据库连接。
请注意,示例中的参数 MYSQLI_STMT_ATTR_CURSOR_TYPE、MYSQLI_STMT_ATTR_PREFETCH_ROWS 和 MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH 是预定义的常量,表示对应的属性。在实际使用中,你可以根据需要选择合适的属性进行获取。