define1.phpt 1013 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. --TEST--
  2. oci_define_by_name()
  3. --EXTENSIONS--
  4. oci8
  5. --FILE--
  6. <?php
  7. require(__DIR__."/connect.inc");
  8. // Initialize
  9. $stmtarray = array(
  10. "drop table define1_tab",
  11. "create table define1_tab (string varchar(10))",
  12. "insert into define1_tab (string) values ('some')",
  13. );
  14. oci8_test_sql_execute($c, $stmtarray);
  15. // Run test
  16. $stmt = oci_parse($c, "select string from define1_tab");
  17. /* the define MUST be done BEFORE ociexecute! */
  18. $string = '';
  19. var_dump(oci_define_by_name($stmt, "STRING", $string, 20));
  20. var_dump(oci_define_by_name($stmt, "STRING", $string, 20));
  21. try {
  22. var_dump(oci_define_by_name($stmt, "", $string, 20));
  23. } catch (ValueError $e) {
  24. echo $e->getMessage(), "\n";
  25. }
  26. oci_execute($stmt);
  27. while (oci_fetch($stmt)) {
  28. var_dump($string);
  29. }
  30. // Cleanup
  31. $stmtarray = array(
  32. "drop table define1_tab"
  33. );
  34. oci8_test_sql_execute($c, $stmtarray);
  35. echo "Done\n";
  36. ?>
  37. --EXPECT--
  38. bool(true)
  39. bool(false)
  40. oci_define_by_name(): Argument #2 ($column) cannot be empty
  41. string(4) "some"
  42. Done