Пример #1
1
function dbQuery($query, $show_errors = true, $all_results = true, $show_output = true)
{
    if ($show_errors) {
        error_reporting(E_ALL);
    } else {
        error_reporting(E_PARSE);
    }
    // Connect to the Sybase database management system
    $link = @sybase_pconnect("192.168.231.144", "testuser", "testpass");
    if (!$link) {
        die(sybase_get_last_message());
    }
    // Make 'testdb' the current database
    $db_selected = @sybase_select_db("testdb");
    if (!$db_selected) {
        die(sybase_get_last_message());
    }
    // Print results in HTML
    print "<html><body>\n";
    // Print SQL query to test sqlmap '--string' command line option
    //print "<b>SQL query:</b> " . $query . "<br>\n";
    // Perform SQL injection affected query
    $result = sybase_query($query);
    if (!$result) {
        if ($show_errors) {
            print "<b>SQL error:</b> " . sybase_get_last_message() . "<br>\n";
        }
        exit(1);
    }
    if (!$show_output) {
        exit(1);
    }
    print "<b>SQL results:</b>\n";
    print "<table border=\"1\">\n";
    while ($line = sybase_fetch_assoc($result)) {
        print "<tr>";
        foreach ($line as $col_value) {
            print "<td>" . $col_value . "</td>";
        }
        print "</tr>\n";
        if (!$all_results) {
            break;
        }
    }
    print "</table>\n";
    print "</body></html>";
}
Пример #2
0
 /**
  * Connect
  *
  * @param   bool reconnect default FALSE
  * @return  bool success
  * @throws  rdbms.SQLConnectException
  */
 public function connect($reconnect = false)
 {
     if (is_resource($this->handle)) {
         return true;
     }
     // Already connected
     if (!$reconnect && false === $this->handle) {
         return false;
     }
     // Previously failed connecting
     $this->_obs && $this->notifyObservers(new \rdbms\DBEvent(\rdbms\DBEvent::CONNECT, $reconnect));
     if ($this->flags & DB_PERSISTENT) {
         $this->handle = sybase_pconnect($this->dsn->getHost(), $this->dsn->getUser(), $this->dsn->getPassword(), 'utf8');
     } else {
         $this->handle = sybase_connect($this->dsn->getHost(), $this->dsn->getUser(), $this->dsn->getPassword(), 'utf8');
     }
     if (!is_resource($this->handle)) {
         $e = new \rdbms\SQLConnectException(trim(sybase_get_last_message()), $this->dsn);
         \xp::gc(__FILE__);
         throw $e;
     }
     \xp::gc(__FILE__);
     $this->_obs && $this->notifyObservers(new \rdbms\DBEvent(\rdbms\DBEvent::CONNECTED, $reconnect));
     return parent::connect();
 }
Пример #3
0
 /**
  * Persistent database connection
  *
  * @access	private called by the base class
  * @return	resource
  */
 function db_pconnect()
 {
     if ($this->port != '') {
         $this->hostname .= ',' . $this->port;
     }
     return @sybase_pconnect($this->hostname, $this->username, $this->password);
 }
Пример #4
0
 public function connect($config = array())
 {
     $this->config = $config;
     $this->connect = $this->config['pconnect'] === true ? @sybase_pconnect($this->config['host'], $this->config['user'], $this->config['password'], $this->config['charset'], $this->config['appname']) : @sybase_connect($this->config['host'], $this->config['user'], $this->config['password'], $this->config['charset'], $this->config['appname']);
     if (empty($this->connect)) {
         die(getErrorMessage('Database', 'mysqlConnectError'));
     }
     sybase_select_db($this->config['database'], $this->connect);
 }
Пример #5
0
 /**
  * Connects to the database.
  *
  * This function connects to a MySQL database
  *
  * @param   string $host
  * @param   string $username
  * @param   string $password
  * @param   string $db_name
  * @return  boolean TRUE, if connected, otherwise FALSE
  * @access  public
  * @author  Adam Greene <*****@*****.**>
  * @since   2004-12-10
  */
 function connect($host, $user, $passwd, $db)
 {
     $this->conn = @sybase_pconnect($host, $user, $passwd);
     if (empty($db) || $this->conn === false) {
         PMF_Db::errorPage('An unspecified error occurred.');
         die;
     }
     return @sybase_select_db($db, $this->conn);
 }
Пример #6
0
 function connect()
 {
     if (0 == $this->Link_ID) {
         $this->Link_ID = sybase_pconnect($this->Host, $this->User, $this->Password);
         if (!$this->Link_ID) {
             $this->halt("Link-ID == false, pconnect failed");
         }
         if (!sybase_select_db($this->Database, $this->Link_ID)) {
             $this->halt("cannot use database " . $this->Database);
         }
     }
     return $this->Link_ID;
 }
Пример #7
0
 /**
  * Connects to the database using options in the given configuration array.
  *
  * @return boolean True if the database could be connected, else false
  */
 function connect()
 {
     $config = $this->config;
     $this->connected = false;
     if (!$config['persistent']) {
         $this->connection = sybase_connect($config['host'], $config['login'], $config['password'], true);
     } else {
         $this->connection = sybase_pconnect($config['host'], $config['login'], $config['password']);
     }
     if (sybase_select_db($config['database'], $this->connection)) {
         $this->connected = true;
     }
     return $this->connected;
 }
Пример #8
0
 /**
  * Connects to the database using options in the given configuration array.
  *
  * @return boolean True if the database could be connected, else false
  */
 function connect()
 {
     $config = $this->config;
     $port = '';
     if ($config['port'] !== null) {
         $port = ':' . $config['port'];
     }
     if ($config['persistent']) {
         $this->connection = sybase_pconnect($config['host'] . $port, $config['login'], $config['password']);
     } else {
         $this->connection = sybase_connect($config['host'] . $port, $config['login'], $config['password'], true);
     }
     $this->connected = sybase_select_db($config['database'], $this->connection);
     return $this->connected;
 }
Пример #9
0
 /**
  * Connect to the database server and select the database
  */
 protected function connect()
 {
     $strHost = $GLOBALS['TL_CONFIG']['dbHost'];
     if ($GLOBALS['TL_CONFIG']['dbPort']) {
         $strHost .= ':' . $GLOBALS['TL_CONFIG']['dbPort'];
     }
     if ($GLOBALS['TL_CONFIG']['dbPconnect']) {
         $this->resConnection = @sybase_pconnect($strHost, $GLOBALS['TL_CONFIG']['dbUser'], $GLOBALS['TL_CONFIG']['dbPass'], $GLOBALS['TL_CONFIG']['dbCharset']);
     } else {
         $this->resConnection = @sybase_connect($strHost, $GLOBALS['TL_CONFIG']['dbUser'], $GLOBALS['TL_CONFIG']['dbPass'], $GLOBALS['TL_CONFIG']['dbCharset']);
     }
     if (is_resource($this->resConnection)) {
         @sybase_select_db($GLOBALS['TL_CONFIG']['dbDatabase']);
     }
 }
Пример #10
0
 /**
  * Connects to the database.
  *
  * This function connects to a MySQL database
  *
  * @param   string $host
  * @param   string $username
  * @param   string $password
  * @param   string $db_name
  * @return  boolean TRUE, if connected, otherwise FALSE
  * @access  public
  * @author  Adam Greene <*****@*****.**>
  * @since   2004-12-10
  */
 function connect($host, $user, $passwd, $db)
 {
     $this->conn = @sybase_pconnect($host, $user, $passwd);
     if (empty($db) or $this->conn == FALSE) {
         print "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
         print "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n";
         print "<head>\n";
         print "    <title>phpMyFAQ Error</title>\n";
         print "    <meta http-equiv=\"content-type\" content=\"application/xhtml+xml; charset=utf-8\" />\n";
         print "</head>\n";
         print "<body>\n";
         print "<p align=\"center\">The connection to the Sybase server could not be established.</p>\n";
         print "<p align=\"center\">The error message of the Sybase server:<br />" . error() . "</p>\n";
         print "</body>\n";
         print "</html>";
         return FALSE;
     }
     return @sybase_select_db($db, $this->conn);
 }
Пример #11
0
 /**
  * constructor(string $dsn)
  * Connect to Sybase.
  */
 function __construct($dsn)
 {
     if (!is_callable('sybase_connect')) {
         return $this->_setLastError("-1", "Sybase extension is not loaded", "sybase_connect");
     }
     if (isset($dsn['lcharset'])) {
         $this->lcharset = $dsn['lcharset'];
     }
     if (isset($dsn['rcharset'])) {
         $this->rcharset = $dsn['rcharset'];
     }
     // May be use sybase_connect or sybase_pconnect
     $ok = $this->link = sybase_pconnect($dsn['host'] . (empty($dsn['port']) ? "" : ":" . $dsn['port']), $dsn['user'], $dsn['pass']);
     $this->_resetLastError();
     if (!$ok) {
         return $this->_setDbError('sybase_connect()');
     }
     $ok = sybase_select_db(preg_replace('{^/}s', '', $dsn['path']), $this->link);
     if (!$ok) {
         return $this->_setDbError('sybase_select_db()');
     }
 }
 /**
  * Connect
  *
  * @param   bool reconnect default FALSE
  * @return  bool success
  * @throws  rdbms.SQLConnectException
  */
 public function connect($reconnect = FALSE)
 {
     if (is_resource($this->handle)) {
         return TRUE;
     }
     // Already connected
     if (!$reconnect && FALSE === $this->handle) {
         return FALSE;
     }
     // Previously failed connecting
     if ($this->flags & DB_PERSISTENT) {
         $this->handle = sybase_pconnect($this->dsn->getHost(), $this->dsn->getUser(), $this->dsn->getPassword(), 'iso_1');
     } else {
         $this->handle = sybase_connect($this->dsn->getHost(), $this->dsn->getUser(), $this->dsn->getPassword(), 'iso_1');
     }
     if (!is_resource($this->handle)) {
         $e = new SQLConnectException(trim(sybase_get_last_message()), $this->dsn);
         xp::gc(__FILE__);
         throw $e;
     }
     xp::gc(__FILE__);
     $this->_obs && $this->notifyObservers(new DBEvent(__FUNCTION__, $reconnect));
     return parent::connect();
 }
 function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
 {
     if (!function_exists('sybase_connect')) {
         return null;
     }
     // Sybase connection on custom port
     if ($this->port) {
         $argHostname .= ':' . $this->port;
     }
     if ($this->charSet) {
         $this->_connectionID = sybase_pconnect($argHostname, $argUsername, $argPassword, $this->charSet);
     } else {
         $this->_connectionID = sybase_pconnect($argHostname, $argUsername, $argPassword);
     }
     if ($this->_connectionID === false) {
         return false;
     }
     if ($argDatabasename) {
         return $this->SelectDB($argDatabasename);
     }
     return true;
 }
Пример #14
0
<?
    $dbh = sybase_pconnect("SERVER", "user", "password");
    if(!$dbh) {
        echo("<B>Unable to connect to database.</B><BR>\n");
        exit;
    }

    $sql = "
        declare @op varchar(100)
        exec test_stored_proc 'This is the input string',
                              @output_param = @op OUTPUT
    ";
    $result = sybase_query($sql);

    if(!$result) {
        echo("<B>Unable to execute $sql.<B><BR>\n");
        exit;
    }

    // Create a table of output parameters
    echo("<table><tr><th bgcolor=grey>Output parameter</th><th>Value</th></tr>\n");
    $output_params = sybase_output_params($result->_queryID);
    while(list($key, $value) = each($output_params))
    {
        echo("<tr><td>$key</td><td>$value</td></tr>\n");
    }
    echo("</table>\n");

    echo("<br/>Return value is " . sybase_return_status($result->_queryID));

?>
Пример #15
0
 function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
 {
     if (!function_exists('sybase_connect')) {
         return null;
     }
     $this->_connectionID = sybase_pconnect($argHostname, $argUsername, $argPassword);
     if ($this->_connectionID === false) {
         return false;
     }
     if ($argDatabasename) {
         return $this->SelectDB($argDatabasename);
     }
     return true;
 }
Пример #16
0
 /**
  * Initialize the driver.
  *
  * Validate configuration and perform all resource-intensive tasks needed to
  * make the driver active.
  *
  * @throws ILSException
  * @return void
  */
 public function init()
 {
     if (isset($this->config['Catalog']['opaciln'])) {
         $this->opaciln = $this->config['Catalog']['opaciln'];
     }
     if (isset($this->config['Catalog']['opacfno'])) {
         $this->opacfno = $this->config['Catalog']['opacfno'];
     }
     if (isset($this->config['Catalog']['opcloan'])) {
         $this->opcloan = $this->config['Catalog']['opcloan'];
     }
     if (function_exists("sybase_pconnect") && isset($this->config['Catalog']['database'])) {
         putenv("SYBASE=" . $this->config['Catalog']['sybpath']);
         $this->db = sybase_pconnect($this->config['Catalog']['sybase'], $this->config['Catalog']['username'], $this->config['Catalog']['password']);
         sybase_select_db($this->config['Catalog']['database']);
     } else {
         throw new ILSException('No Database.');
     }
 }
Пример #17
0
 protected function connect(&$username, &$password, &$driver_options)
 {
     $host = isset($this->dsn['host']) ? $this->dsn['host'] : 'SYBASE';
     $dbname = isset($this->dsn['dbname']) ? $this->dsn['dbname'] : '';
     $charset = isset($this->dsn['charset']) ? intval($this->dsn['charset']) : '';
     if (isset($driver_options[PDO::ATTR_PERSISTENT]) && $driver_options[PDO::ATTR_PERSISTENT]) {
         $this->link = @sybase_pconnect($host, $username, $password, $charset);
     } else {
         // hope this opens a new connection every time
         $app_name = uniqid('phppdo_');
         $this->link = @sybase_connect($host, $username, $password, $charset, $app_name);
     }
     if (!$this->link) {
         $this->set_driver_error('28000', PDO::ERRMODE_EXCEPTION, '__construct');
     }
     if ($dbname) {
         if (!@sybase_select_db($dbname, $this->link)) {
             $this->set_driver_error(null, PDO::ERRMODE_EXCEPTION, '__construct');
         }
     }
 }