<?php
// generic database query wrapper
// Use pecl/filter or mysql_real_string to avoid sql injection here
function query_wrapper($query, $file, $line, $class, $function)
{
$r = mysql_query($query);
if (!$r) {
trigger_error("Failed executing query '{$query}' on {$file}:{$line}
inside ".($class ? "{$class}::" : '')."{$function}()", E_USER_ERROR);
}
return $r;
}
// fetch message based on a numeric identifier
function get_message($id, $file, $line, $class, $function)
{
$result = query_wrapper("SELECT * FROM msg WHERE id=".$id, $file, $line, $class, $function);
return fetch_object_wrapper($result);
}
// main code
function foo()
{
$message = get_message($_GET['id'], __FILE__, __LINE__, __CLASS__, __FUNCTION__);
}
foo();
?>