dupcolnames.phpt 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. --TEST--
  2. SELECT tests with duplicate column anmes
  3. --EXTENSIONS--
  4. oci8
  5. --FILE--
  6. <?php
  7. require(__DIR__.'/connect.inc');
  8. // Initialization
  9. $stmtarray = array(
  10. "drop table dupcolnames_tab1",
  11. "drop table dupcolnames_tab2",
  12. "create table dupcolnames_tab1 (c1 number, dupnamecol varchar2(20))",
  13. "create table dupcolnames_tab2 (c2 number, dupnamecol varchar2(20))",
  14. "insert into dupcolnames_tab1 (c1, dupnamecol) values (1, 'chris')",
  15. "insert into dupcolnames_tab2 (c2, dupnamecol) values (2, 'jones')",
  16. );
  17. oci8_test_sql_execute($c, $stmtarray);
  18. // Run Test
  19. echo "Test 1 - OCI_ASSOC\n";
  20. $s = oci_parse($c, "select * from dupcolnames_tab1, dupcolnames_tab2");
  21. oci_execute($s);
  22. while (($r = oci_fetch_array($s, OCI_ASSOC)) != false) {
  23. var_dump($r);
  24. }
  25. echo "\nTest 2 - OCI_NUM\n";
  26. $s = oci_parse($c, "select * from dupcolnames_tab1, dupcolnames_tab2");
  27. oci_execute($s);
  28. while (($r = oci_fetch_array($s, OCI_NUM)) != false) {
  29. var_dump($r);
  30. }
  31. echo "\nTest 3 - OCI_ASSOC+OCI_NUM\n";
  32. $s = oci_parse($c, "select * from dupcolnames_tab1, dupcolnames_tab2");
  33. oci_execute($s);
  34. while (($r = oci_fetch_array($s, OCI_ASSOC+OCI_NUM)) != false) {
  35. var_dump($r);
  36. }
  37. // Clean up
  38. $stmtarray = array(
  39. "drop table dupcolnames_tab1",
  40. "drop table dupcolnames_tab2",
  41. );
  42. oci8_test_sql_execute($c, $stmtarray);
  43. ?>
  44. --EXPECT--
  45. Test 1 - OCI_ASSOC
  46. array(3) {
  47. ["C1"]=>
  48. string(1) "1"
  49. ["DUPNAMECOL"]=>
  50. string(5) "jones"
  51. ["C2"]=>
  52. string(1) "2"
  53. }
  54. Test 2 - OCI_NUM
  55. array(4) {
  56. [0]=>
  57. string(1) "1"
  58. [1]=>
  59. string(5) "chris"
  60. [2]=>
  61. string(1) "2"
  62. [3]=>
  63. string(5) "jones"
  64. }
  65. Test 3 - OCI_ASSOC+OCI_NUM
  66. array(7) {
  67. [0]=>
  68. string(1) "1"
  69. ["C1"]=>
  70. string(1) "1"
  71. [1]=>
  72. string(5) "chris"
  73. ["DUPNAMECOL"]=>
  74. string(5) "jones"
  75. [2]=>
  76. string(1) "2"
  77. ["C2"]=>
  78. string(1) "2"
  79. [3]=>
  80. string(5) "jones"
  81. }