From 72c751da80110c87b3cec3f27c7054db25cded6a Mon Sep 17 00:00:00 2001 From: moodler <moodler> Date: Wed, 15 Oct 2003 08:49:12 +0000 Subject: [PATCH] New class for handling ODBC socket server --- lib/odbc.php | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 lib/odbc.php diff --git a/lib/odbc.php b/lib/odbc.php new file mode 100755 index 0000000000..d241322555 --- /dev/null +++ b/lib/odbc.php @@ -0,0 +1,40 @@ +<?php + //This is the ODBC Socket Server class PHP client class with sample usage + // at bottom. + // (c) 1999 Team FXML + // Released into the public domain for version 0.90 of ODBC Socket Server + // http://odbc.linuxbox.com/ + +class ODBCSocketServer { + var $sHostName; //name of the host to connect to + var $nPort; //port to connect to + var $sConnectionString; //connection string to use + + //function to parse the SQL + function ExecSQL($sSQL) { + + $fToOpen = fsockopen($this->sHostName, $this->nPort, &$errno, &$errstr, 30); + if (!$fToOpen) + { + //contruct error string to return + $sReturn = "<?xml version=\"1.0\"?>\r\n<result state=\"failure\">\r\n<error>$errstr</error>\r\n</result>\r\n"; + } + else + { + //construct XML to send + //search and replace HTML chars in SQL first + $sSQL = HTMLSpecialChars($sSQL); + $sSend = "<?xml version=\"1.0\"?>\r\n<request>\r\n<connectionstring>$this->sConnectionString</connectionstring>\r\n<sql>$sSQL</sql>\r\n</request>\r\n"; + //write request + fputs($fToOpen, $sSend); + //now read response + while (!feof($fToOpen)) + { + $sReturn = $sReturn . fgets($fToOpen, 128); + } + fclose($fToOpen); + } + return $sReturn; + } +}//class +?> -- 2.39.5