PHP Conference Japan 2024

odbc_pconnect

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_pconnect打开持久数据库连接

描述

odbc_pconnect(
    字符串 $dsn,
    字符串 $user,
    字符串 $password,
    整数 $cursor_option = SQL_CUR_USE_DRIVER
): Odbc\Connection|false

打开一个持久数据库连接。

此函数类似于 odbc_connect(),不同之处在于当脚本执行完毕时,连接不会真正关闭。对具有相同 dsnuserpassword 组合(通过 odbc_connect()odbc_pconnect())的连接的未来请求可以重用此持久连接。

参数

详情请参见 odbc_connect()

返回值

返回一个 ODBC 连接,或者在失败时返回 false

变更日志

版本 描述
8.4.0 odbc 现在期望一个 Odbc\Connection 实例;以前,期望的是一个 资源
8.4.0 此函数现在返回一个 Odbc\Connection 实例;以前,返回的是一个 资源

备注

注意: 如果 PHP 用作 CGI 程序,则持久连接无效。

参见

添加备注

用户贡献的备注 3 条备注

etsai at email dot com
24 年前
为游标类型定义了以下常量
- SQL_CUR_USE_IF_NEEDED
- SQL_CUR_USE_ODBC
- SQL_CUR_USE_DRIVER
- SQL_CUR_DEFAULT

对于某些 ODBC 驱动程序,执行复杂的存储过程可能会失败并出现类似以下错误:“无法在存储过程中打开游标,该存储过程包含单个选择语句以外的任何内容”。使用 SQL_CUR_USE_ODBC 可以避免此错误。此外,某些驱动程序不支持 odbc_fetch_row() 中可选的 row_number 参数。SQL_CUR_USE_ODBC 也可能在这种情况下有所帮助。
wls at wwco dot com
24 年前
我发现对由 odbc_pconnect() 打开的连接使用 odbc_close($odbchandle) 会导致警告“不是有效的 ODBC-Link 资源”。因此,您不能只将 odbc_connect() 更改为 odbc_pconnect() 并期望在没有警告消息的情况下工作。但是,您可以使用 odbc_close_all() 而不会收到警告。
j_schrab at execpc dot com
23 年前
好的,学习时间。正如 PHP-DevTeam 告诉我的那样……


支持多个连接,但是当您尝试使用完全相同的参数连接时,将重用现有
连接,从而导致您看到的行为。

您可以简单地省略对 odbc_close() 的调用,因为
连接无论如何都会在脚本终止时关闭,或者更好
考虑将您的连接 ID 设置为全局变量或将其
传递给您的函数。
To Top