bind_query.phpt 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. --TEST--
  2. Bind with various WHERE conditions
  3. --EXTENSIONS--
  4. oci8
  5. --FILE--
  6. <?php
  7. require(__DIR__.'/connect.inc');
  8. // Initialization
  9. $stmtarray = array(
  10. "drop table bind_query_tab",
  11. "create table bind_query_tab (empno number(4), ename varchar2(10), sal number(7,2))",
  12. "insert into bind_query_tab values (7934, 'MILLER', 1300)",
  13. "insert into bind_query_tab values (7902, 'FORD', 3000)"
  14. );
  15. oci8_test_sql_execute($c, $stmtarray);
  16. // Run Test
  17. echo "Test 1\n";
  18. $e = 7934;
  19. $s = oci_parse($c, "select ename from bind_query_tab where empno = :eno");
  20. oci_bind_by_name( $s, ":eno", $e, -1, SQLT_INT);
  21. oci_execute($s);
  22. var_dump(oci_fetch_row($s));
  23. echo "Test 2\n";
  24. $v = 1000;
  25. $s = oci_parse($c, 'select ename from bind_query_tab where sal > :v order by ename');
  26. oci_bind_by_name( $s, ":v", $v);
  27. oci_define_by_name($s, "ENAME", $ename, 20);
  28. oci_execute($s);
  29. while (oci_fetch($s)) {
  30. var_dump($ename);
  31. }
  32. echo "Test 3\n";
  33. $s = oci_parse($c, 'select ename from bind_query_tab where sal > :v order by ename');
  34. oci_bind_by_name( $s, ":v", $v);
  35. $v = 2000;
  36. oci_define_by_name($s, "ENAME", $ename, 20);
  37. oci_execute($s);
  38. while (oci_fetch($s)) {
  39. var_dump($ename);
  40. }
  41. // Clean up
  42. $stmtarray = array(
  43. "drop table bind_query_tab"
  44. );
  45. oci8_test_sql_execute($c, $stmtarray);
  46. ?>
  47. --EXPECT--
  48. Test 1
  49. array(1) {
  50. [0]=>
  51. string(6) "MILLER"
  52. }
  53. Test 2
  54. string(4) "FORD"
  55. string(6) "MILLER"
  56. Test 3
  57. string(4) "FORD"