define1.phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. --TEST--
  2. oci_define_by_name()
  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 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. var_dump(oci_define_by_name($stmt, "", $string, 20));
  22. var_dump(oci_define_by_name($stmt, ""));
  23. oci_execute($stmt);
  24. while (oci_fetch($stmt)) {
  25. var_dump($string);
  26. }
  27. // Cleanup
  28. $stmtarray = array(
  29. "drop table define1_tab"
  30. );
  31. oci8_test_sql_execute($c, $stmtarray);
  32. echo "Done\n";
  33. ?>
  34. --EXPECTF--
  35. bool(true)
  36. bool(false)
  37. Warning: oci_define_by_name(): Column name cannot be empty in %s on line %d
  38. bool(false)
  39. Warning: oci_define_by_name() expects at least 3 parameters, 2 given in %s on line %d
  40. NULL
  41. string(4) "some"
  42. Done