odbc_setoption

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

odbc_setoption调整 ODBC 设置

描述

odbc_setoption(
    资源 $odbc,
    整数 $which,
    整数 $option,
    整数 $value
): 布尔值

此函数允许调整特定连接或查询结果的 ODBC 选项。它旨在帮助解决奇怪 ODBC 驱动程序中的问题。您可能只应在您是 ODBC 程序员并且了解各种选项将产生的影响时使用此函数。您肯定需要一份好的 ODBC 参考来解释所有不同的选项和可以使用的值。不同的驱动程序版本支持不同的选项。

由于效果可能因 ODBC 驱动程序而异,因此强烈建议不要在要公开发布的脚本中使用此函数。此外,某些 ODBC 选项不适用于此函数,因为它们必须在建立连接或准备查询之前设置。但是,如果在某个特定任务中它可以使 PHP 工作,这样您的老板就不会告诉您使用商业产品,那么这才是真正重要的。

参数

odbc

是连接 ID 或结果 ID,用于更改设置。对于 SQLSetConnectOption(),这是一个连接 ID。对于 SQLSetStmtOption(),这是一个结果 ID。

which

是要使用的 ODBC 函数。值为 1 表示 SQLSetConnectOption(),值为 2 表示 SQLSetStmtOption()。

option

要设置的选项。

value

给定 option 的值。

返回值

成功时返回 true,失败时返回 false

示例

示例 #1 odbc_setoption() 示例

<?php
// 1. SQLSetConnectOption() 的选项 102 是 SQL_AUTOCOMMIT。
// SQL_AUTOCOMMIT 的值 1 是 SQL_AUTOCOMMIT_ON。
// 此示例与以下代码具有相同的效果
// odbc_autocommit($conn, true);

odbc_setoption($conn, 1, 102, 1);

// 2. SQLSetStmtOption() 的选项 0 是 SQL_QUERY_TIMEOUT。
// 此示例将查询超时时间设置为 30 秒。

$result = odbc_prepare($conn, $sql);
odbc_setoption($result, 2, 0, 30);
odbc_execute($result);
?>

添加备注

用户贡献的备注 1 备注

egil at wp dot pl
15 年前
Microsoft SQL Server ODBC 的一些选项
1 - (SQL_MAX_ROWS) 显示前 x 行
6 - (SQL_CURSOR_TYPE) 更改游标 - 应该在 PHP 5.3 中起作用

您可以使用此页面将常量名称(例如在 Microsoft 网站上找到)“翻译”为相应的值
http://www.freepascal.org/docs-html/packages/odbcsql/index-2.html

顺便说一句,如果有人在使用带有 ORDER BY 子句的 execute 时因“游标类型更改”警告而烦恼,那么现在就使用 exec(记得自己添加反斜杠)。在 PHP 5.3 中,错误 #43668 将被修复,它将允许您将游标类型更改为 SQL_CUR_USE_ODBC。

请注意,您也可以尝试在 odbc_connect 中选择游标类型,但这对我不起作用(出现更多问题,而不是解决问题)。
To Top