cursors_old.phpt

来自「PHP v6.0 For Linux 运行环境:Win9X/ WinME/ Wi」· PHPT 代码 · 共 83 行

PHPT
83
字号
--TEST--fetching cursor from a statement--SKIPIF--<?php if (!extension_loaded('oci8')) die("skip no oci8 extension"); ?>--FILE--<?phprequire dirname(__FILE__)."/connect.inc";require dirname(__FILE__)."/create_table.inc";$insert_sql = "INSERT INTO ".$schema.$table_name." (id, value) VALUES (1,1)";if (!($s = ociparse($c, $insert_sql))) {	die("ociparse(insert) failed!\n");}for ($i = 0; $i<3; $i++) {	if (!ociexecute($s)) {		die("ociexecute(insert) failed!\n");	}}if (!ocicommit($c)) {	die("ocicommit() failed!\n");}$sql = "select CURSOR(select * from ".$schema.$table_name.") as curs FROM dual";$stmt = ociparse($c, $sql);ociexecute($stmt);while ($result = ocifetchinto($stmt, $data, OCI_ASSOC)) {	ociexecute($data["CURS"]);	ocifetchinto($data["CURS"], $subdata, OCI_ASSOC);	var_dump($subdata);	var_dump(ocicancel($data["CURS"]));	ocifetchinto($data["CURS"], $subdata, OCI_ASSOC);	var_dump($subdata);	var_dump(ocicancel($data["CURS"]));}require dirname(__FILE__)."/drop_table.inc";echo "Done\n";?>--EXPECTF--array(2) {  ["ID"]=>  string(1) "1"  ["VALUE"]=>  string(1) "1"}bool(true)Warning: ocifetchinto():%sORA-01002: fetch out of sequence in %scursors_old.php on line %darray(2) {  ["ID"]=>  string(1) "1"  ["VALUE"]=>  string(1) "1"}bool(true)Done--UEXPECTF--array(2) {  [u"ID"]=>  string(1) "1"  [u"VALUE"]=>  string(1) "1"}bool(true)Warning: ocifetchinto(): ORA-01002: fetch out of sequence in %s on line %darray(2) {  [u"ID"]=>  string(1) "1"  [u"VALUE"]=>  string(1) "1"}bool(true)Done

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?