define4.phpt 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. --TEST--
  2. oci_define_by_name() on partial number of columns
  3. --EXTENSIONS--
  4. oci8
  5. --FILE--
  6. <?php
  7. require(__DIR__."/connect.inc");
  8. // Initialize
  9. $stmtarray = array(
  10. "drop table define4_tab",
  11. "create table define4_tab (value number, string varchar(10))",
  12. "insert into define4_tab (value, string) values (1234, 'some')",
  13. );
  14. oci8_test_sql_execute($c, $stmtarray);
  15. // Run test
  16. $stmt = oci_parse($c, "select value, string from define4_tab");
  17. echo "Test 1\n";
  18. // Only one of the two columns is defined
  19. var_dump(oci_define_by_name($stmt, "STRING", $string));
  20. oci_execute($stmt);
  21. echo "Test 2\n";
  22. while (oci_fetch($stmt)) {
  23. var_dump(oci_result($stmt, 'VALUE'));
  24. var_dump($string);
  25. var_dump(oci_result($stmt, 'STRING'));
  26. var_dump($string);
  27. var_dump(oci_result($stmt, 'VALUE'));
  28. var_dump(oci_result($stmt, 'STRING'));
  29. }
  30. echo "Test 3\n";
  31. var_dump(oci_free_statement($stmt));
  32. var_dump($string);
  33. try {
  34. var_dump(oci_result($stmt, 'STRING'));
  35. } catch(\TypeError $exception) {
  36. var_dump($exception->getMessage());
  37. }
  38. // Cleanup
  39. $stmtarray = array(
  40. "drop table define4_tab"
  41. );
  42. oci8_test_sql_execute($c, $stmtarray);
  43. echo "Done\n";
  44. ?>
  45. --EXPECTF--
  46. Test 1
  47. bool(true)
  48. Test 2
  49. string(4) "1234"
  50. string(4) "some"
  51. string(4) "some"
  52. string(4) "some"
  53. string(4) "1234"
  54. string(4) "some"
  55. Test 3
  56. bool(true)
  57. string(4) "some"
  58. string(%d) "oci_result(): supplied resource is not a valid oci8 statement resource"
  59. Done