summaryrefslogtreecommitdiff
path: root/ext/sybase_ct/tests/test.inc
blob: 48aa7d23b32c51767575226ce77966cbc79675af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
/* This file is part of PHP test framework for ext/sybase_ct
 *
 * $Id$ 
 */

  // Change if needed
  define('HOST',     '****');
  define('USER',     '****');
  define('PASSWORD', '****');

  // {{{ bool sybase_msg_handler(int msgnumber, int severity, int state, int line, string text)
  //     Handles server messages
  function sybase_msg_handler($msgnumber, $severity, $state, $line, $text) {
    printf(
      "*** Caught Sybase Server Message #%d [Severity %d, state %d] at line %d\n    '%s'\n",
      $msgnumber,
      $severity,
      $state,
      $line,
      chop($text)
    );
  }
  // }}}

  // {{{ public class sybase
  class sybase {
  
    // {{{ public static bool static_handler(int msgnumber, int severity, int state, int line, string text)
    //     Handles server messages
    function static_handler($msgnumber, $severity, $state, $line, $text) {
      return sybase_msg_handler($msgnumber, $severity, $state, $line, $text);
    }
    // }}}

    // {{{ public bool static_handler(int msgnumber, int severity, int state, int line, string text)
    //     Handles server messages
    function handler($msgnumber, $severity, $state, $line, $text) { 
      return sybase_msg_handler($msgnumber, $severity, $state, $line, $text);
    }
    // }}}
  }
  // }}}

  // {{{ void sybase_set_messagehandler_ex(string handler)
  //     Sets the sybase message handler and dumps the result
  function sybase_set_messagehandler_ex($handler) {
    var_dump(sybase_set_message_handler($handler));
  }
  
  // {{{ resource sybase_connect_ex(string charset= NULL, string appname= NULL)
  //     Connect to the sybase server using the defines HOST, USER and PASSWORD
  function sybase_connect_ex($charset= NULL, $appname= NULL) {
    sybase_min_server_severity(11);       // Suppress "changed database context"
    if (!($db= sybase_connect(HOST, USER, PASSWORD, $charset ? $charset : 'iso_1', $appname))) {
      die('Connect to '.USER.'@'.HOST.' failed (using password: '.(PASSWORD ? 'yes' : 'no').')');
    }
    return $db;
  }
  // }}}

  // {{{ void sybase_select_ex(resource dbh, string query)
  //     Returns all fetched rows from an SQL query
  function sybase_select_ex($dbh, $query) {
    printf(">>> Query: %s\n", $query);
    $h= sybase_query($query, $dbh);
    printf("<<< Return: %s\n", gettype($h));
    flush();
    if (!is_resource($h)) return $h;

    $return= array();
    while ($row= sybase_fetch_assoc($h)) {
      $return[]= $row;
    }
    return $return;
  }
  
  // {{{ mixed sybase_select_single(resource dbh, string query)
  //     Fires an SQL query and returns the first value from the first row
  function sybase_select_single($dbh, $query) {
    return array_shift(sybase_fetch_row(sybase_query($query, $dbh)));
  }
  // }}}
?>