num.phpt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. --TEST--
  2. oci_num_*() family
  3. --EXTENSIONS--
  4. oci8
  5. --FILE--
  6. <?php
  7. require(__DIR__."/connect.inc");
  8. // Initialize
  9. $stmtarray = array(
  10. "drop table num_tab",
  11. "create table num_tab (id number, value number)",
  12. );
  13. oci8_test_sql_execute($c, $stmtarray);
  14. // Run Test
  15. echo "Test 1\n";
  16. $insert_sql = "insert into num_tab (id, value) values (1,1)";
  17. if (!($s = oci_parse($c, $insert_sql))) {
  18. die("oci_parse(insert) failed!\n");
  19. }
  20. var_dump(oci_num_rows($s));
  21. var_dump(oci_num_fields($s));
  22. for ($i = 0; $i<3; $i++) {
  23. if (!oci_execute($s)) {
  24. die("oci_execute(insert) failed!\n");
  25. }
  26. }
  27. echo "Test 2\n";
  28. var_dump(oci_num_rows($s));
  29. var_dump(oci_num_fields($s));
  30. if (!oci_commit($c)) {
  31. die("oci_commit() failed!\n");
  32. }
  33. echo "Test 3\n";
  34. var_dump(oci_num_rows($s));
  35. var_dump(oci_num_fields($s));
  36. // All rows
  37. $select_sql = "select * from num_tab";
  38. if (!($s = oci_parse($c, $select_sql))) {
  39. die("oci_parse(select) failed!\n");
  40. }
  41. echo "Test 4a\n";
  42. var_dump(oci_num_rows($s));
  43. var_dump(oci_num_fields($s));
  44. if (!oci_execute($s)) {
  45. die("oci_execute(select) failed!\n");
  46. }
  47. echo "Test 4b\n";
  48. var_dump(oci_num_rows($s));
  49. var_dump(oci_num_fields($s));
  50. if (oci_fetch_all($s,$r) === false) {
  51. die("oci_fetch_all(select) failed!\n");
  52. }
  53. echo "Test 4c\n";
  54. var_dump(oci_num_rows($s));
  55. var_dump(oci_num_fields($s));
  56. // One row
  57. $select_sql = "SELECT id, value FROM num_tab WHERE ROWNUM < 2";
  58. if (!($s = oci_parse($c, $select_sql))) {
  59. die("oci_parse(select) failed!\n");
  60. }
  61. if (!oci_execute($s)) {
  62. die("oci_execute(select) failed!\n");
  63. }
  64. if (oci_fetch_all($s,$r) === false) {
  65. die("oci_fetch_all(select) failed!\n");
  66. }
  67. echo "Test 5\n";
  68. var_dump(oci_num_rows($s));
  69. var_dump(oci_num_fields($s));
  70. // No rows
  71. $select_sql = "select id from num_tab where 1=0";
  72. if (!($s = oci_parse($c, $select_sql))) {
  73. die("oci_parse(select) failed!\n");
  74. }
  75. if (!oci_execute($s)) {
  76. die("oci_execute(select) failed!\n");
  77. }
  78. if (oci_fetch_all($s,$r) === false) {
  79. die("oci_fetch_all(select) failed!\n");
  80. }
  81. echo "Test 6\n";
  82. var_dump(oci_num_rows($s));
  83. var_dump(oci_num_fields($s));
  84. $delete_sql = "delete from num_tab";
  85. if (!($s = oci_parse($c, $delete_sql))) {
  86. die("oci_parse(delete) failed!\n");
  87. }
  88. if (!oci_execute($s)) {
  89. die("oci_execute(delete) failed!\n");
  90. }
  91. echo "Test 7a\n";
  92. var_dump(oci_num_rows($s));
  93. var_dump(oci_num_fields($s));
  94. oci_commit($c);
  95. // Cleanup
  96. $stmtarray = array(
  97. "drop table num_tab"
  98. );
  99. oci8_test_sql_execute($c, $stmtarray);
  100. echo "Done\n";
  101. ?>
  102. --EXPECT--
  103. Test 1
  104. int(0)
  105. int(0)
  106. Test 2
  107. int(1)
  108. int(0)
  109. Test 3
  110. int(1)
  111. int(0)
  112. Test 4a
  113. int(0)
  114. int(0)
  115. Test 4b
  116. int(0)
  117. int(2)
  118. Test 4c
  119. int(3)
  120. int(2)
  121. Test 5
  122. int(1)
  123. int(2)
  124. Test 6
  125. int(0)
  126. int(1)
  127. Test 7a
  128. int(3)
  129. int(0)
  130. Done