叁柒設計 三七设计 Three seven design 我的学习与分享
详细信息
来自:关键字:

PHP4手册:函数库及函数(三十六) ODBC 资料库连结函式库

  December 21th,2008 22:39:58   Category : PHP+Mysql
 Click (469)

--------------------------------------------------------------------------------
 ODBC 资料库连结函式库 
--------------------------------------------------------------------------------
 


本函式库共有 25 个函式
开放资料连结 (Open Database Connectivity, ODBC) 是连结资料库的共通介面。ODBC 是由微软主导的资料库连结标准,实作环境也以微软的系统最成熟。在 UNIX 系统中,通常要使用其它厂商所提供的 ODBC 介面,有些 UNIX 厂商会自己提供 ODBC 介面 (如 SUN 有为 Solaris 提供 ODBC)。
ODBC 和资料库的查询采用 SQL 语言,这和大部份的资料库查询方式一样,这使得系统可以很容易和各种资料库沟通。当然,透过 ODBC 介面,后端的资料库不一定要 DBMS 这种大型资料库系统,亦可以是资料表 (如 Microsoft Access)、或者是试算表 (如 Microsoft Excel)。 
 


odbc_autocommit: 开关自动更动功能。 
odbc_binmode: 设定二进位资料处理方式。 
odbc_close: 关闭 ODBC 连结。 
odbc_close_all: 关闭所有 ODBC 连结。 
odbc_commit: 更动 ODBC 资料库。 
odbc_connect: 连结至 ODBC 资料库。 
odbc_cursor: 取得游标名。 
odbc_do: 执行 SQL 指令。 
odbc_exec: 执行 SQL 指令。 
odbc_execute: 执行预置 SQL 指令。 
odbc_fetch_into: 取得传回的指定列。 
odbc_fetch_row: 取得传回一列。 
odbc_field_name: 取得栏位名称。 
odbc_field_type: 取得栏位资料形态。 
odbc_field_len: 取得栏位资料长度。 
odbc_free_result: 释出传回资料的记忆体。 
odbc_longreadlen: 设定传回栏的最大值。 
odbc_num_fields: 取得栏位数目。 
odbc_pconnect: 长期连结至 ODBC 资料库。 
odbc_prepare: 预置 SQL 指令。 
odbc_num_rows: 取得传回列数目。 
odbc_result: 取得传回资料。 
odbc_result_all: 传回 HTML 表格资料。 
odbc_rollback: 撤消当前交易。 
odbc_setoption: 调整 ODBC 设定。 


--------------------------------------------------------------------------------
 函式:odbc_autocommit() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_autocommit
开关自动更动功能。

语法: int odbc_autocommit(int connection_id, int [OnOff]);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来开启或关闭自动更新 (auto-commit) 功能。参数 connection_id 为 ODBC 连结的 ID 值。参数 OnOff 可省略,表开启或关闭自动更动功能,内定值为 on,欲关闭则设 off。传回值为目前的自动更新状态,若开启自动更新功能则传回 true;若关闭自动更新功能则传回 false。


 
 
参考 


odbc_commit()  odbc_rollback()  


--------------------------------------------------------------------------------
 函式:odbc_binmode() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_binmode
设定二进位资料处理方式。

语法: int odbc_binmode(int result_id, int mode);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来设定二进位资料传回时的处理方式。受到本函式影响的资料形态有 BINARY、VARBINARY 及 LONGVARBINARY。参数 result_id 为传回的 ID 值,若设为 0,则程式将设定一个新的 ID 值。参数 mode 为设定的二进位处理方式,有下列的值


ODBC_BINMODE_PASSTHRU 传回二进位资料 
ODBC_BINMODE_RETURN 转成十六进位传回 
ODBC_BINMODE_CONVERT 转成字串资料传回 
注意: 若使用 odbc_fetch_into(),ODBC_BINMODE_PASSTHRU 会导至传回字串值都是空的 (empty)。而传回资料最大值的内定大小为 4096 位元组,若要传回更多的资料需使用 odbc_longreadlen()。 


 
 
参考 


odbc_fetch_into()  odbc_longreadlen()  


--------------------------------------------------------------------------------
 函式:odbc_close() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_close
关闭 ODBC 连结。

语法: void odbc_close(int connection_id);

传回值: 无

函式种类: 资料库功能


 
 
内容说明 


本函式用来关闭与 ODBC 资料库之间的连结。参数 connection_id 为 ODBC 连结代号 ID 值。若正在执行 transactions 则无法关闭连结。


--------------------------------------------------------------------------------
 函式:odbc_close_all() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_close_all
关闭所有 ODBC 连结。

语法: void odbc_close_all(void);

传回值: 无

函式种类: 资料库功能


 
 
内容说明 


本函式用来关闭与 ODBC 资料库之间所有的连结。和 odbc_close() 一样,若正在执行 transactions 则无法关闭连结。使用本函式不需要使用任何参数。

 

--------------------------------------------------------------------------------
 函式:odbc_commit() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_commit
更动 ODBC 资料库。

语法: int odbc_commit(int connection_id);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来更动 (commit) ODBC 资料库。参数 connection_id 为 ODBC 连结的 ID 值。若有设定 odbc_autocommit() 成自动更动资料库时,则不需使用本函式
 

--------------------------------------------------------------------------------
 函式:odbc_connect() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_connect
连结至 ODBC 资料库。

语法: int odbc_connect(string dsn, string user, string password, int [cursor_type]);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来连结到 ODBC 资料库,传回值为连结的代号 ID 值。参数 dsn 为资料来源名称 (Data Sources Name)。参数 user 及 password 分别为连结的帐号及密码。参数 cursor_type 通常省略,其值有 SQL_CUR_USE_IF_NEEDED、SQL_CUR_USE_ODBC、SQL_CUR_USE_DRIVER 及 SQL_CUR_DEFAULT 等四种。当使用复杂的资料存取时可能会有类似 "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it" 的错误讯息字串,此时若将参数 cursor_type 的值设为 SQL_CUR_USE_ODBC 就可以避开了。


 
 
参考 


odbc_pconnect()  

 

--------------------------------------------------------------------------------
 函式:odbc_cursor() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_cursor
取得游标名。

语法: string odbc_cursor(int result_id);

传回值: 字串

函式种类: 资料库功能


 
 
内容说明 


本函式用来取得开启的 ODBC 资料库游标 (cursor)。参数 connection_id 为 ODBC 连结代号 ID 值。传回值为游标的名称字串。

 

--------------------------------------------------------------------------------
 函式:odbc_do() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_do
执行 SQL 指令。

语法: int odbc_do(int connection_id, string query);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来执行 SQL 的 query 指令。参数 connection_id 为 ODBC 连结代号 ID 值。参数 query 则为欲执行的指令。传回值为 Result ID 值。


 
 
参考 


odbc_prepare()  odbc_execute()  odbc_exec()  

 

--------------------------------------------------------------------------------
 函式:odbc_exec() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_exec
执行 SQL 指令。

语法: int odbc_exec(int connection_id, string query);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来执行 SQL 的 query 指令。参数connection_id 为 ODBC 连结代号 ID 值。参数 query 则为欲执行的指令。传回值为 Result ID 值。


 
 
参考 


odbc_prepare()  odbc_execute()  odbc_do()  

 

--------------------------------------------------------------------------------
 函式:odbc_execute() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_execute
执行预置 SQL 指令。

语法: int odbc_execute(int result_id, array [parameters_array]);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来执行预置在 4.36.20 odbc_prepare() 的 query 指令。参数 result_id 为 ODBC 传回 ID 值。参数 parameters_array 通常省略。


 
 
使用范例 


这是 tony.wood@revolutionltd.com (27-May-1999) 所提的范例

$conn=odbc_connect("mydb","","");
$stmt = odbc_prepare($conn, "INSERT INTO mytable (jor_from, jor_to) VALUES('$from', '$to');" );
if (!odbc_execute($stmt)) {
  echo "错误";
}
odbc_close($conn);
?> 

 
 
参考 


odbc_prepare()  odbc_exec()  odbc_do()  

--------------------------------------------------------------------------------
 函式:odbc_fetch_into() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_fetch_into
取得传回的指定列。

语法: int odbc_fetch_into(int result_id, int [rownumber], array result_array);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来取得 Query 的传回资料列,并放入阵列资料之中。参数 result_id 为 ODBC 传回 ID 值。参数 rownumber 为指定的取得列 (row)。阵列参数 result_array 为取得列的资料阵列,通常在前面加上 "&" 符号。例如 vbhunt@silverfox.com 所提供的范例 (27-Sep-1998)

$cols = odbc_fetch_into($QueryID, $RowNum, &$YourArray);

 

--------------------------------------------------------------------------------
 函式:odbc_fetch_row() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_fetch_row
取得传回一列。

语法: int odbc_fetch_row(int result_id, int [row_number]);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来取得 Query 的传回资料的一列。参数 result_id 为 ODBC 传回 ID 值。参数 rownumber 可省略,为指定的取得列 (row)。


 
 
使用范例 


$conn = odbc_connect("WebDB", "", "");
$query = "select user, idno ";
$query .= "from userinfo";
$result_id = odbc_do($conn, $query);
while(odbc_fatch_row($result_id)) {
  $user = odbc_result($result_id, 1);
  $idno = odbc_result($result_id, 2);
  echo $user."的身份证字号为".$idno."
\n";
}
odbc_close($conn);
?> 

--------------------------------------------------------------------------------
 函式:odbc_field_name() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_field_name
取得栏位名称。

语法: string odbc_fieldname(int result_id, int field_number);

传回值: 字串

函式种类: 资料库功能


 
 
内容说明 


本函式用来取得 Query 的传回资料的栏位名称。参数 result_id 为 ODBC 传回 ID 值。参数 field_number 为指定的栏位,起始值为 1。

 

--------------------------------------------------------------------------------
 函式:odbc_field_type() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_field_type
取得栏位资料形态。

语法: string odbc_field_type(int result_id, int field_number);

传回值: 字串

函式种类: 资料库功能


 
 
内容说明 


本函式用来取得 Query 的传回资料的栏位资料形态。参数 result_id 为 ODBC 传回 ID 值。参数 field_number 为指定的栏位,起始值为 1。
 

--------------------------------------------------------------------------------
 函式:odbc_field_len() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_field_len
取得栏位资料长度。

语法: int odbc_field_len(int result_id, int field_number);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来取得 Query 的传回资料的栏位资料长度。参数 result_id 为 ODBC 传回 ID 值。参数 field_number 为指定的栏位,起始值为 1。
 

--------------------------------------------------------------------------------
 函式:odbc_free_result() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_free_result
释出传回资料的记忆体。

语法: int odbc_free_result(int result_id);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式可用来释出传回资料所使用的记忆体,通常在系统记忆体资源不足的情形下才需要使用。参数 result_id 为 ODBC 传回 ID 值。传回值永远都是 true。

 

--------------------------------------------------------------------------------
 函式:odbc_longreadlen() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_longreadlen
设定传回栏的最大值。

语法: int odbc_longreadlen(int result_id, int length);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来设定传回资料栏的最大资料值。参数 result_id 为 ODBC 传回 ID 值。参数 length 即为欲设定的长度值,本参数若设为 0,表示不限长度。

 

--------------------------------------------------------------------------------
 函式:odbc_num_fields() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_num_fields
取得栏位数目。

语法: int odbc_num_fields(int result_id);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来取得传回资料的栏位数目。参数 result_id 为 ODBC 传回 ID 值。若发生错误则传回 -1。

 

--------------------------------------------------------------------------------
 函式:odbc_pconnect() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_pconnect
长期连结至 ODBC 资料库。

语法: int odbc_pconnect(string dsn, string user, string password, int [cursor_type]);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来保持长期连结连结到 ODBC 资料库,即使 PHP 程式结束,连结仍然存在,传回值为连结的代号 ID 值。这对连结负责很重的系统可以加快连结的速度。参数 dsn 为资料来源名称 (Data Sources Name)。参数 user 及 password 分别为连结的帐号及密码。参数 cursor_type 通常省略。


 
 
参考 


odbc_connect()  

 

--------------------------------------------------------------------------------
 函式:odbc_prepare() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_prepare
预置 SQL 指令。

语法: int odbc_prepare(int connection_id, string query_string);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来设定 SQL query 指令。参数 result_id 为 ODBC 传回 ID 值。参数 query_string 即为预设的指令。


 
 
参考 


odbc_execute()  

 

--------------------------------------------------------------------------------
 函式:odbc_num_rows() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_num_rows
取得传回列数目。

语法: int odbc_num_rows(int result_id);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来取得传回列的数目。参数 result_id 为 ODBC 传回 ID 值。若有错误发生则传回 -1。

 

--------------------------------------------------------------------------------
 函式:odbc_result() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_result
取得传回资料。

语法: string odbc_result(int result_id, mixed field);

传回值: 字串

函式种类: 资料库功能


 
 
内容说明 


本函式用来取得传回的资料。参数 result_id 为 ODBC 传回 ID 值。参数 field 可以是数字形态,代表指定的栏位序号 (从 1 开始);亦可以是字串形态,为指定的栏位名称。

 

--------------------------------------------------------------------------------
 函式:odbc_result_all() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_result_all
传回 HTML 表格资料。

语法: int odbc_result_all(int result_id, string [format]);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来将取得的资料转成 HTML 的表格 (table) 格式。参数 result_id 为 ODBC 传回 ID 值。参数 format 可省略,为表格的特殊设定值。传回值为资料列数。


 
 
使用范例 


$conn = odbc_connect("WebDB", "", "");
$query = "select item, price ";
$query .= "from userinfo";
$result_id = odbc_do($conn, $query);
odbc_result_all($result_id, "border=1 width=50%");
odbc_close($conn);
?> 

 

--------------------------------------------------------------------------------
 函式:odbc_rollback() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_rollback
撤消当前交易。

语法: int odbc_rollback(int connection_id);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式取消 ODBC 交易处理 (transaction) 对资料库所做的修改。若成功则传回 true,反之传回 false。

 

--------------------------------------------------------------------------------
 函式:odbc_setoption() 
--------------------------------------------------------------------------------
 


ODBC 资料库连结函式库


odbc_setoption
调整 ODBC 设定。

语法: int odbc_setoption(int id, int function, int option, int param);

传回值: 整数

函式种类: 资料库功能


 
 
内容说明 


本函式用来调整 ODBC 的设定值。参数 id 不一定指 connection_id,SQLSetConnectOption() 则为 connection_id;若为 SQLSetStmtOption() 则为 result_id。参数 function 值为 1 表 SQLSetConnectOption();若为 2 则为 SQLSetStmtOption()。参数 option 为设定的选项。参数 param 为设定值。


 
 
使用范例 


// 例一: 设定为 autocommit,即与 odbc_autocommit($conn, true) 相同。
//       第三个参数值 102 表 SQL_AUTOCOMMIT。
//       第四个参数值 1 表 SQL_AUTOCOMMIT_ON。
odbc_setoption ($conn, 1, 102, 1);
// 例二: 设定查询时间
//       第三个参数 0 表 SQL_QUERY_TIMEOUT
//       第四个参数为最久执行时间,本例设为 30 秒
$result = odbc_prepare ($conn, $sql);
odbc_setoption ($result, 2, 0, 30);
odbc_execute ($result);
?> 

[ 资讯评论 ]
暂时没有任何评论!
[ 提交评论 ]
请选择表情
  • 昵称:
  • *
  • 验证码:
  • *点击更换验证码
  • 尚能输入个字符
申明:本网站部分分享内容来自网络,如有侵权请及时与我联系,谢谢,另网友评论仅代表个人观点,与本站立场无关,如果在评论中发表违反我国任何法律的,请即时与我们联系(QQ:77132915),我们将立即予以删除. [ 注:提交评论后,通过审核后方能在网站上显示!]