*/ function oracle_connect($username, $password, $host_address = "localhost", $sid = "ORCL") { $db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = $host_address)(PORT = 1521)))(CONNECT_DATA=(SID=$sid)))"; $conn = oci_connect($username, $password, $db); $GLOBALS["oracle_global_conn"] = $conn; return $conn; } /** * If conn is not specified, it will use a global which was set when we connected. * * @param string $query * @param resourse $conn * @return resourse */ function oracle_query($query = "", $conn = NULL) { if ($conn == NULL) { $conn = $GLOBALS["oracle_global_conn"]; } @$result = oci_parse($conn, $query); @oci_execute($result); $GLOBALS["oracle_global_last_result"] = $result; // Check for errors. If they exist, return FALSE! if (oracle_error($result)) { return FALSE; } return $result; } function oracle_fetch_array($result) { $row = oci_fetch_array($result, OCI_BOTH+OCI_RETURN_NULLS); return $row; } function oracle_affected_rows ($result) { return oci_num_rows($result); } function oracle_fetch_object ($result) { return oci_fetch_object($result); } /** * Closes the oracle connection. If conn is null, it will use the global connection (recommended) * * @param resourse $conn */ function oracle_close ($conn = NULL) { if ($conn == NULL) { $conn = $GLOBALS["oracle_global_conn"]; } oci_close($conn); } /** * Returns error string or FALSE. If result is NULL, it uses last result. * * @param unknown_type $result */ function oracle_error($result = NULL) { if ($result == NULL) { $result = $GLOBALS["oracle_global_last_result"]; } $arr = oci_error($result); if (is_array($arr)) { return $arr["message"]; } return FALSE; // no error! } /** * Replacement for mysql_errno(). FALSE if no error. If result is null it uses last result. * * @param unknown_type $result */ function oracle_errno($result = NULL) { if ($result == NULL) { $result = $GLOBALS["oracle_global_last_result"]; } $arr = oci_error($result); if (is_array($arr)) { return $arr["code"]; } return FALSE; // no error! } /** * Oracle has an unusual way of escaping quotes, which addslashes() will NOT work on. * We will do that here. * * @param unknown_type $str */ function oracle_escape_string($str) { // I *THINK* this is how you handle single quotes (make ' become ''): $str = str_replace("'", "''", $str); return $str; } //////////////////////////////////// ?>