field_funcs3.phpt 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. --TEST--
  2. oci_field_*() family: basic column types
  3. --EXTENSIONS--
  4. oci8
  5. --FILE--
  6. <?php
  7. require(__DIR__."/connect.inc");
  8. // Initialization
  9. $stmtarray = array(
  10. "drop table field_funcs3_tab",
  11. "create table field_funcs3_tab(c1_c char(2), c2_v varchar2(2), c3_n number, c4_d date)",
  12. "insert into field_funcs3_tab values ('c1', 'c2', 3, '01-Jan-2010')"
  13. );
  14. $v = oci_server_version($c);
  15. if (strpos($v, 'Oracle TimesTen') === false) {
  16. oci8_test_sql_execute($c, array("alter session set nls_date_format = 'DD-MON-YYYY'"));
  17. }
  18. oci8_test_sql_execute($c, $stmtarray);
  19. // Run Test
  20. $select_sql = "select * from field_funcs3_tab";
  21. if (!($s = oci_parse($c, $select_sql))) {
  22. die("oci_parse(select) failed!\n");
  23. }
  24. if (!oci_execute($s)) {
  25. die("oci_execute(select) failed!\n");
  26. }
  27. $row = oci_fetch_array($s, OCI_NUM + OCI_RETURN_NULLS + OCI_RETURN_LOBS);
  28. var_dump($row);
  29. foreach ($row as $num => $field) {
  30. $num++;
  31. var_dump(oci_field_is_null($s, $num));
  32. var_dump(oci_field_name($s, $num));
  33. var_dump(oci_field_type($s, $num));
  34. var_dump(oci_field_type_raw($s, $num));
  35. var_dump(oci_field_scale($s, $num));
  36. var_dump(oci_field_precision($s, $num));
  37. var_dump(oci_field_size($s, $num));
  38. }
  39. // Clean up
  40. $stmtarray = array(
  41. "drop table field_funcs3_tab"
  42. );
  43. oci8_test_sql_execute($c, $stmtarray);
  44. ?>
  45. --EXPECTF--
  46. array(4) {
  47. [0]=>
  48. string(2) "c1"
  49. [1]=>
  50. string(2) "c2"
  51. [2]=>
  52. string(1) "3"
  53. [3]=>
  54. string(1%r[19]%r) "%r(01-JAN-2010|0001-01-20 10:00:00)%r"
  55. }
  56. bool(false)
  57. string(4) "C1_C"
  58. string(4) "CHAR"
  59. int(96)
  60. int(0)
  61. int(0)
  62. int(2)
  63. bool(false)
  64. string(4) "C2_V"
  65. string(8) "VARCHAR2"
  66. int(1)
  67. int(0)
  68. int(0)
  69. int(2)
  70. bool(false)
  71. string(4) "C3_N"
  72. string(6) "NUMBER"
  73. int(2)
  74. int(-127)
  75. int(0)
  76. int(22)
  77. bool(false)
  78. string(4) "C4_D"
  79. string(4) "DATE"
  80. int(12)
  81. int(0)
  82. int(0)
  83. int(7)