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; }
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";
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";