示例#1
0
 function get_report(client $client, $table_name, $show, $rownum)
 {
     if ($table_name == null) {
         return "Bad table name.";
     }
     //TODO check table_name is one word
     //compile query
     $colnames = odbc_exec($client->get_connection(), "SELECT column_name, data_type, data_length FROM ALL_TAB_COLUMNS WHERE table_name = '" . strtoupper($table_name) . "';");
     if ($colnames === false) {
         return "Unable to get table fields.";
     }
     $query = "SELECT ";
     $i = 0;
     while (odbc_fetch_row($colnames)) {
         if (isset($show) && isset($show[$i]) && $show[$i] == true) {
             if ($query != "SELECT ") {
                 $query .= ", ";
             }
             $query .= odbc_result($colnames, 1);
         }
         $i += 1;
     }
     $query .= " FROM " . $table_name . " WHERE rownum <= ?;";
     //prepare statement
     $statement = odbc_prepare($client->get_connection(), $query);
     if ($statement === false) {
         return $query . "\n\n" . get_odbc_error();
     }
     $items = array();
     $items[] = (int) $rownum;
     $result = odbc_execute($statement, $items);
     if ($result === false) {
         return $query . "\n\n" . get_odbc_error();
     }
     return $statement;
 }
示例#2
0
                if ($list == "") {
                    $list = "\"" . $cname . "\"";
                } else {
                    $list .= ", \"" . $cname . "\"";
                }
            }
            $fkq .= $list;
        }
        $fkq .= ")";
        if (odbc_exec($client->get_connection(), $fkq) === false) {
            $rollback_needed = true;
            $rollback_error_message = get_odbc_error();
            break;
        }
    }
}
//check if rollback needed
if ($rollback_needed === true) {
    if (odbc_exec($client->get_connection(), "ROLLBACK;") === false) {
        die("Error occurred. Was unable rollback the transaction:\n\n" . $rollback_error_message . "\n\n" . get_odbc_error());
    }
    die("Error occurred. Transaction was rollbacked.\n\n" . $rollback_error_message);
}
if (odbc_exec($client->get_connection(), "COMMIT;") === false) {
    $err = get_odbc_error();
    if (odbc_exec($client->get_connection(), "ROLLBACK;") === false) {
        die("Was unable to both commit and rollback the transaction:\n\n" . $err . "\n\n" . get_odbc_error());
    }
    die("Was unable to both commit the transaction. It was rollbacked.\n\n" . $err);
}
echo "true";
示例#3
0
文件: add_entry.php 项目: Tkachov/POD
        if (!odbc_fetch_row($colnames)) {
            die("false");
        }
        if ($i < $fields_count) {
            $q2 .= odbc_result($colnames, 1) . " = ?,\n";
        } else {
            $q2 .= odbc_result($colnames, 1) . " = ?\n";
        }
    }
    $query = "UPDATE " . $table_name . " SET " . $q2 . " WHERE ROWID = ?;";
}
$statement = odbc_prepare($client->get_connection(), $query);
if ($statement === false) {
    die($query . "\n\n" . get_odbc_error());
}
$items = array();
for ($i = 1; $i <= $fields_count; ++$i) {
    if (isset($_POST["is_null"]) && isset($_POST["is_null"][$i]) && $_POST["is_null"][$i] == true) {
        $items[] = null;
    } else {
        $items[] = $_POST["value"][$i];
    }
}
if ($rowid != null) {
    $items[] = $rowid;
}
$result = odbc_execute($statement, $items);
if ($result === false) {
    die($query . "\n\n" . get_odbc_error());
}
echo "true";