PHP8 odbc_connect
(PHP 4、PHP 5、PHP 7、PHP 8)
odbc_connect — 连接到数据源
说明
odbc_connect(
string $dsn,
string $user,
string $password,
int $cursor_option = SQL_CUR_USE_DRIVER
): resource|false
其他函数需要此函数返回的连接 ID ODBC 函数。您可以一次打开多个连接,只要满足以下条件 它们要么使用不同的数据库,要么使用不同的凭据。
对于某些 ODBC 驱动程序,执行复杂的存储过程可能会 失败,并出现类似以下内容的错误:“无法在存储的 包含单个 SELECT 语句以外的任何内容的过程 在里面”。使用SQL_CUR_USE_ODBC可以避免该错误。此外,一些 驱动程序不支持 odbc_fetch_row() 中的可选 row_number 参数。SQL_CUR_USE_ODBC可能会有所帮助 在那种情况下也是如此。
参数
dsn
连接的数据库源名称。或者,一个 可以使用无 DSN 的连接字符串。
user
用户名。
password
密码。
cursor_option
这将设置要使用的游标类型 对于此连接。通常不需要此参数,但 可用于解决某些 ODBC 驱动程序的问题。
为 cursortype 定义了以下常量:- SQL_CUR_USE_IF_NEEDED
- SQL_CUR_USE_ODBC
- SQL_CUR_USE_DRIVER
返回值
返回 ODBC 连接, 或者在失败时返回 false.
示例
示例 #1 无DSN连接
<?php
// Microsoft SQL Server using the SQL Native Client 10.0 ODBC Driver - allows connection to SQL 7, 2000, 2005 and 2008
$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);
// Microsoft Access
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);
// Microsoft Excel
$excelFile = realpath('C:/ExcelData.xls');
$excelDir = dirname($excelFile);
$connection = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=$excelFile;DefaultDir=$excelDir" , '', '');
?>
参见
- 对于持久连接: odbc_pconnect() - 打开持久数据库连接