field_funcs_old.phpt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. --TEST--
  2. ocicolumn*() family
  3. --SKIPIF--
  4. <?php
  5. $target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
  6. require(dirname(__FILE__).'/skipif.inc');
  7. ?>
  8. --FILE--
  9. <?php
  10. require dirname(__FILE__)."/connect.inc";
  11. require dirname(__FILE__).'/create_table.inc';
  12. $insert_sql = "INSERT INTO ".$schema."".$table_name." (id, value) VALUES (1,1)";
  13. if (!($s = ociparse($c, $insert_sql))) {
  14. die("ociparse(insert) failed!\n");
  15. }
  16. for ($i = 0; $i<3; $i++) {
  17. if (!ociexecute($s)) {
  18. die("ociexecute(insert) failed!\n");
  19. }
  20. }
  21. if (!ocicommit($c)) {
  22. die("ocicommit() failed!\n");
  23. }
  24. $select_sql = "SELECT * FROM ".$schema."".$table_name."";
  25. if (!($s = ociparse($c, $select_sql))) {
  26. die("ociparse(select) failed!\n");
  27. }
  28. if (!ociexecute($s)) {
  29. die("ociexecute(select) failed!\n");
  30. }
  31. ocifetchinto($s, $row, OCI_NUM + OCI_RETURN_NULLS + OCI_RETURN_LOBS);
  32. var_dump($row);
  33. foreach ($row as $num => $field) {
  34. $num++;
  35. var_dump(ocicolumnisnull($s, $num));
  36. var_dump(ocicolumnname($s, $num));
  37. var_dump(ocicolumntype($s, $num));
  38. var_dump(ocicolumntyperaw($s, $num));
  39. var_dump(ocicolumnscale($s, $num));
  40. var_dump(ocicolumnprecision($s, $num));
  41. var_dump(ocicolumnsize($s, $num));
  42. }
  43. require dirname(__FILE__).'/drop_table.inc';
  44. echo "Done\n";
  45. ?>
  46. --EXPECT--
  47. array(5) {
  48. [0]=>
  49. string(1) "1"
  50. [1]=>
  51. string(1) "1"
  52. [2]=>
  53. NULL
  54. [3]=>
  55. NULL
  56. [4]=>
  57. NULL
  58. }
  59. bool(false)
  60. string(2) "ID"
  61. string(6) "NUMBER"
  62. int(2)
  63. int(-127)
  64. int(0)
  65. int(22)
  66. bool(false)
  67. string(5) "VALUE"
  68. string(6) "NUMBER"
  69. int(2)
  70. int(-127)
  71. int(0)
  72. int(22)
  73. bool(true)
  74. string(4) "BLOB"
  75. string(4) "BLOB"
  76. int(113)
  77. int(0)
  78. int(0)
  79. int(4000)
  80. bool(true)
  81. string(4) "CLOB"
  82. string(4) "CLOB"
  83. int(112)
  84. int(0)
  85. int(0)
  86. int(4000)
  87. bool(true)
  88. string(6) "STRING"
  89. string(8) "VARCHAR2"
  90. int(1)
  91. int(0)
  92. int(0)
  93. int(10)
  94. Done