cursors.phpt
来自「PHP v6.0 For Linux 运行环境:Win9X/ WinME/ Wi」· PHPT 代码 · 共 85 行
PHPT
85 行
--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 = oci_parse($c, $insert_sql))) { die("oci_parse(insert) failed!\n");}for ($i = 0; $i<3; $i++) { if (!oci_execute($s)) { die("oci_execute(insert) failed!\n"); }}if (!oci_commit($c)) { die("oci_commit() failed!\n");}$sql = "select CURSOR(select * from ".$schema.$table_name.") as curs FROM dual";$stmt = oci_parse($c, $sql);oci_execute($stmt);while ($data = oci_fetch_assoc($stmt)) { oci_execute($data["CURS"]); $subdata = oci_fetch_assoc($data["CURS"]); var_dump($subdata); var_dump(oci_cancel($data["CURS"])); $subdata = oci_fetch_assoc($data["CURS"]); var_dump($subdata); var_dump(oci_cancel($data["CURS"]));}require dirname(__FILE__)."/drop_table.inc";echo "Done\n";?>--EXPECTF--array(5) { ["ID"]=> string(1) "1" ["VALUE"]=> string(1) "1" ["BLOB"]=> NULL ["CLOB"]=> NULL ["STRING"]=> NULL}bool(true)Warning: oci_fetch_assoc(): ORA-01002: fetch out of sequence in %s on line %dbool(false)bool(true)Done--UEXPECTF--array(5) { [u"ID"]=> string(1) "1" [u"VALUE"]=> string(1) "1" [u"BLOB"]=> NULL [u"CLOB"]=> NULL [u"STRING"]=> NULL}bool(true)Warning: oci_fetch_assoc(): ORA-01002: fetch out of sequence in %s on line %dbool(false)bool(true)Done
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?