define4.phpt 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. --TEST--
  2. oci_define_by_name() on partial number of columns
  3. --SKIPIF--
  4. <?php if (!extension_loaded('oci8')) die("skip no oci8 extension"); ?>
  5. --FILE--
  6. <?php
  7. require(dirname(__FILE__)."/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. var_dump(oci_result($stmt, 'STRING'));
  34. // Cleanup
  35. $stmtarray = array(
  36. "drop table define4_tab"
  37. );
  38. oci8_test_sql_execute($c, $stmtarray);
  39. echo "Done\n";
  40. ?>
  41. --EXPECTF--
  42. Test 1
  43. bool(true)
  44. Test 2
  45. string(4) "1234"
  46. string(4) "some"
  47. string(4) "some"
  48. string(4) "some"
  49. string(4) "1234"
  50. string(4) "some"
  51. Test 3
  52. bool(true)
  53. string(4) "some"
  54. Warning: oci_result(): %d is not a valid oci8 statement resource in %s on line %d
  55. bool(false)
  56. Done