User's Manual
Adding Error Recovery
Beta Draft Updating Data 5-19
handle_error('Connect Error', $err);
}
else {
$emailid = $newemp['firstname'].$newemp['lastname'];
$bindargs = array();
array_push($bindargs, array('FNM', $newemp['firstname'], -1));
array_push($bindargs, array('LNM', $newemp['lastname'], -1));
array_push($bindargs, array('EML', $emailid, -1));
array_push($bindargs, array('HDT', $newemp['hiredate'], -1));
array_push($bindargs, array('JID', $newemp['jobid'], -1));
array_push($bindargs, array('SAL', $newemp['salary'], -1));
array_push($bindargs, array('CPT', $newemp['commpct'], -1));
array_push($bindargs, array('DID', $newemp['deptid'], -1));
$r = db_execute_statement($conn, $statement, $err, $bindargs);
if ($r) {
construct_employees();
}
else {
handle_error('Cannot insert employee', $err);
}
}
}
12. Edit anyco.php. Modify construct_modify_emp() to handle errors. The
function becomes:
function construct_modify_emp()
{
if (!isset($_POST['emprec'])) { // User didn't select a record
construct_employees();
}
else {
$empid = $_POST['emprec'];
$query =
"SELECT employee_id, first_name, last_name, email, hire_date,
salary, nvl(commission_pct,0) as commission_pct
FROM employees
WHERE employee_id = :empid";
$conn = db_connect($err);
if (!$conn) {
handle_error('Connect Error', $err);
}
else {
$bindargs = array();
array_push($bindargs, array('EMPID', $empid, -1));
$emp = db_do_query($conn, $query, OCI_FETCHSTATEMENT_BY_ROW, $err,
$bindargs);
if (!$emp) {
handle_error('Cannot find details for employee '.$empid, $err);
}
else {
ui_print_header('Modify Employee ');
ui_print_modify_employee($emp[0], $_SERVER['SCRIPT_NAME']);
ui_print_footer(date('Y-m-d H:i:s'));
}