User's Manual
Adding Error Recovery
Beta Draft Updating Data 5-21
handle_error("Error deleting employee $empid", $err);
}
else {
construct_employees();
}
}
}
}
15. Edit anyco.php. Modify get_dept_name() to handle errors. The function
becomes:
function get_dept_name($conn, $deptid)
{
$query =
'SELECT department_name
FROM departments
WHERE department_id = :did';
$conn = db_connect($err);
if (!$conn) {
return ('Unknown');
}
else {
$bindargs = array();
array_push($bindargs, array('DID', $deptid, -1));
$dn = db_do_query($conn, $query, OCI_FETCHSTATEMENT_BY_COLUMN,
$err, $bindargs);
if ($dn == false)
return ('Unknown');
else
return($dn['DEPARTMENT_NAME'][0]);
}
}
}
16. Edit afico_ui.inc. Add a new function ui_print_errors():
function ui_print_error($message, $posturl)
{
if (!$message) {
echo '<p>Unknown error</p>';
}
else {
echo "<p>Error at line {$message['LINE']} of "
."{$message['FILE']}</p>"; // Uncomment for debugging
echo "<p>{$message['MESSAGE']}</p>";
}
echo <<<END
<form method="post" action="$posturl">
<input type="submit" value="Return to Departments" name="showdept">
END;
}
17. Save the changes to your application files. Test the changes by entering the
following URL in your browser:
http://localhost/~<username>/chap5/anyco.php